2 回答
TA贡献1772条经验 获得超8个赞
该方法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
对于Rails> 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
使所有帮助程序模块可用于所有视图(至少适用于从application_controller继承的所有控制器)。
# home_controller.rb
helper UserHelper
使UserHelper方法可用于家庭控制器操作的视图。这等效于:
# HomeHelper
include UserHelper
TA贡献1821条经验 获得超6个赞
在Rails> = 3.1中,应用程序控制器中的'helper:all'被application.rb中的'include_all_helpers'配置设置代替。
- 2 回答
- 0 关注
- 1032 浏览
添加回答
举报