Вызов вспомогательного метода из контроллера Rails 3 - PullRequest
29 голосов
/ 18 января 2012

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

Ответы [ 3 ]

36 голосов
/ 27 ноября 2013
 view_context.some_helper_method
28 голосов
/ 18 января 2012

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

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

class ApplicationController < ActionController::Base
  protect_from_forgery       
  include ApplicationHelper  
end
...