Как и где определить общий код, который будет вызываться из различных контроллеров - Rails v3 - PullRequest
0 голосов
/ 20 октября 2010

Мне нужно определить какой-то общий фрагмент кода, который может быть вызван из разных контроллеров (не для просмотра).Есть ли способ сделать это в Rails v3?

Я определил код в ApplicationHelper и попытался вызвать его, используя

@template.<helper_method>

и

ActionController::Base.helpers.<helper_method>

Ноэто не работает?

1 Ответ

1 голос
/ 20 октября 2010

Код, который вы будете вызывать в контроллерах, может быть определен как защищенный метод в их родительском элементе, ApplicationController.

приложение / контроллеры / application_controller.rb:

class ApplicationController

  # ...

  protected

  def work_some_magic(param)
    # work magic here
  end
end

приложение / контроллеры / users_controller.rb:

class UsersController < ApplicationController

  # ...

  def show
    @user = User.find(params[:id])
    @magic_result = work_some_magic(@user)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...