为了账号安全,请及时绑定邮箱和手机立即绑定

helper和helper_method做什么?

/ 猿问

helper和helper_method做什么?

陪伴而非守候 2020-02-04 15:19:39

helper_method 很简单:它使视图的部分或全部控制器方法可用。

什么helper啊 是否是相反的方式,即将辅助方法导入文件或模块?(也许名称helperhelper_method相似。它们可能改为share_methods_with_viewimport_methods_from_view


查看完整描述

2 回答

?
料青山看我应如是

该方法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


查看完整回答
反对 回复 2020-02-04
?
达令说

在Rails> = 3.1中,应用程序控制器中的'helper:all'被application.rb中的'include_all_helpers'配置设置代替。

查看完整回答
反对 回复 2020-02-04

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信