Ruby on rails RubyonRails-在控制器中使用关注点

Ruby on rails RubyonRails-在控制器中使用关注点,ruby-on-rails,ruby,web,separation-of-concerns,Ruby On Rails,Ruby,Web,Separation Of Concerns,可能的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 cla

可能的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
。/app/controllers/foo_controller.rb
类FooController<应用程序控制器
包括Foo
def秀
Foo.somethingfoo#Foo:Module的未定义方法“somethingfoo”
呈现简单:“哦,不,它甚至没有显示我,因为我上面的错误”
结束
结束
据我所知,应该调用
somethingfoo
,但它不是。我也尝试过在一个
包含的do中定义
somethingfoo
。。。结束问题中的
块,但这也不起作用。


我有什么遗漏吗?关注点不能像这样用于控制器吗?

如果包含模块(通过
ActiveSupport::Concern扩展或不扩展),该模块的方法将成为包含类/模块的实例方法

因此,控制器方法应为

def show
  somethingfoo
  render plain: "Yeah, I'm shown!"
end

你为什么要在
Foo
上调用任何东西,等