Ruby On Rails控制器中如何实现关注点分离的最佳实践?
- 内容介绍
- 文章标签
- 相关推荐
本文共计267个文字,预计阅读时间需要2分钟。
可能的Noob警讯:RoR的新功能+我在RoR中使用关注点的注意事项。目前我只写了一个非常简单的疑问。
可能的Noob警告:RoR的新功能我试图在RoR中使用关注点.现在我只是写了一个非常简单的问题
#./app/controllers/concerns/foo.rb module Foo extend ActiveSupport::Concern def somethingfoo puts "Ayyyy! Foo" end end
当我尝试在我的控制器中使用此问题时,我得到一个未定义的方法错误
#./app/controllers/foo_controller.rb class FooController < ApplicationController include Foo def show Foo.somethingfoo # undefined method 'somethingfoo' for Foo:Module render plain: "Ohh no, It doesnt even show me because of the error above me" end end
据我所知,应该调用somethingfoo,但事实并非如此.我也尝试在一个包含的do … end块中定义somethingfoo,但这也不起作用.
有什么我想念的吗?控制器可以不用这样的问题吗?
如果包含模块(由ActiveSupport :: Concern扩展或不扩展),则该模块的方法将成为包含类/模块的实例方法.因此,您的Controller方法应该读取
def show somethingfoo render plain: "Yeah, I'm shown!" end
本文共计267个文字,预计阅读时间需要2分钟。
可能的Noob警讯:RoR的新功能+我在RoR中使用关注点的注意事项。目前我只写了一个非常简单的疑问。
可能的Noob警告:RoR的新功能我试图在RoR中使用关注点.现在我只是写了一个非常简单的问题
#./app/controllers/concerns/foo.rb module Foo extend ActiveSupport::Concern def somethingfoo puts "Ayyyy! Foo" end end
当我尝试在我的控制器中使用此问题时,我得到一个未定义的方法错误
#./app/controllers/foo_controller.rb class FooController < ApplicationController include Foo def show Foo.somethingfoo # undefined method 'somethingfoo' for Foo:Module render plain: "Ohh no, It doesnt even show me because of the error above me" end end
据我所知,应该调用somethingfoo,但事实并非如此.我也尝试在一个包含的do … end块中定义somethingfoo,但这也不起作用.
有什么我想念的吗?控制器可以不用这样的问题吗?
如果包含模块(由ActiveSupport :: Concern扩展或不扩展),则该模块的方法将成为包含类/模块的实例方法.因此,您的Controller方法应该读取
def show somethingfoo render plain: "Yeah, I'm shown!" end

