Вызов вспомогательного метода из контроллера Rails 3

Можно ли вызвать вспомогательные методы из контроллера? Если да, как это сделать в Rails 3?

Ответ 1

 view_context.some_helper_method

Ответ 2

Вы можете либо включить вспомогательный модуль в контроллер, либо определить помощник как метод контроллера и пометить его как помощник через 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

Ответ 3

Это работает, если кто-то хочет использовать метод ApplicationHelper в других контроллерах, или просто добавьте этот include ApplicationHelper ниже, потому что весь ваш контроллер получен из ApplicationController.

class ApplicationController < ActionController::Base
  protect_from_forgery       
  include ApplicationHelper  
end