Rails 3 вспомогательный метод, доступный в модели
Я обновляю приложение до Rails 3. У нас есть Application Controller, как показано ниже:
class ApplicationController < ActionController::Base
helper_method :current_user
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
Поскольку мы определяем "helper_method", "current_user" доступен для всех представлений. Он доступен для контроллеров, потому что все они наследуются от класса ApplicationController.
Однако, когда мы были на 2.3.8, доступ к "current_user" был доступен через модель, но теперь это не так. Есть ли способ сделать это доступным для моделей?
Ответы
Ответ 1
Я мог бы предложить перемещение current_user
в помощник, например UserHelper
, тогда вы можете включить его в свою модель с помощью include UserHelper
.
Вы также должны будете include UserHelper
в вашем ApplicationController, но helper :user
будет включать в себя также как и обычные ваши представления.