从Rails 3控制器调用辅助方法

时间:2012-01-18 10:55:53

标签: ruby-on-rails-3 controller helpers

是否可以从控制器调用辅助方法?如果是,如何在Rails 3中执行此操作?

3 个答案:

答案 0 :(得分:36)

 view_context.some_helper_method

答案 1 :(得分:28)

您可以在控制器中包含帮助程序模块,也可以将帮助程序定义为控制器方法,并通过helper_method :method_name将其标记为帮助程序。

class FooHelper
  def bar ... end
end

class QuxsController
  include FooHelper
end

class QuxsController
  private
  def bar ... end
  helper_method :bar
end

答案 2 :(得分:1)

如果有人想在其他控制器中使用ApplicationHelper方法或者只是在下面添加这个include ApplicationHelper,那么这是有效的,因为所有控制器都是从ApplicationController派生的。

class ApplicationController < ActionController::Base
  protect_from_forgery       
  include ApplicationHelper  
end