如何设置我想要从所有控制器访问的方法?
在application_helper中粘贴该方法只是使其可用于视图
答案 0 :(得分:37)
您可以将方法添加到ApplicationController
。所有其他控制器都是ApplicationController
的子类,因此可以调用该方法。
您需要创建方法protected
,使其仅对子类可见,并且不可用作可通过Web访问的操作。
答案 1 :(得分:17)
您可以在控制器(或基本ApplicationController)中include ApplicationHelper
使辅助方法可用。
您还可以在ApplicationController中包含以下行以包含所有帮助程序:
helper :all
答案 2 :(得分:7)
坚持lib
。帮助者意图用于观点;如果您有特定于应用程序的库(以及“库”,我指的是您的应用程序使用的任何代码,以及“特定于应用程序”的任何不属于vendor
的任何代码),lib
是去的地方。
答案 3 :(得分:1)
答案 4 :(得分:0)
在rails 3中,您可以使用:控制器中的view_context对象来访问视图助手方法。例如,
class ApplicationController < ActionController::Base
def some_method
view_context.some_view_helper_method
end
end
module ApplicationHelper
def some_view_helper_method
end
end
看看这个: http://wowkhmer.com/2011/09/09/use-view-helper-methods-in-rails-3-controller/