Rails:在哪里定义一个可供多个控制器使用的辅助方法?

Mis*_*hko 6 ruby-on-rails ruby-on-rails-3

我想定义一个辅助方法,my_method,这将是可用的内部BuyersController方法(如index,create等).

我尝试定义它app/helpers/application_helper.rb但它不起作用:

undefined method `my_method' for #<BuyersController:0x26df468>
Run Code Online (Sandbox Code Playgroud)

它应该在某个共享位置,因为我也想在其他控制器中使用它.这就是我试过的原因app/helpers/application_helper.rb.

什么是定义它的正确位置?

Sat*_*tya 14

它应该在 app/controllers/application_controller.rb

app/helpers/application_helper.rb是用于共享视图助手.

  • 我认为Misha正在寻求控制器**和**视图可用的方法.`ApplicationController`中的方法将可用于所有控制器,但不能用于其视图. (4认同)