在Ruby on Rails中,我们可以在控制器中声明一个辅助方法,例如
# app/controllers/my_controller.rb
class MyController < ApplicationController
helper_method :helper_method_name
...
private
def helper_method_name
...
end
end
和例如
# app/helpers/my_helper.rb
class MyHelper
def helper_method_name
...
end
end
有什么区别(在访问,使用等方面)?
答案 0 :(得分:1)
方法 helper_method 用于显式共享控制器中定义的一些方法,以使其可用于视图。
这用于您需要从控制器和助手/视图访问的任何方法(控制器中不提供标准助手方法)。
答案 1 :(得分:0)
如雷所说。您只需要在确实需要在控制器和助手/视图中中同时使用它时,才使用 helper_method 。
通常,您希望针对各个方法使用控制器关注点和帮助程序(视图),因为这是惯例。