方法
helper_method
是显式共享控制器中定义的一些方法,以使它们对视图可用。这用于您需要从控制器和助手/视图访问的任何方法(标准助手方法在控制器中不可用)。例如,通用用例:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
这个
helper
另一方面,方法用于将整个助手导入控制器(及其继承的控制器)提供的视图。这意味着做什么
# application_controller.rb
helper :all
对于轨道>3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
使所有帮助程序模块对所有视图可用(至少对继承自应用程序控制器的所有控制器可用)。
# home_controller.rb
helper UserHelper
使UserHelper方法可用于查看主控制器的操作。这相当于:
# HomeHelper
include UserHelper