Rails 3辅助方法在模型中可用

时间:2011-04-02 17:50:59

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

我正在将应用程序升级到Rails 3.我们有一个类似以下的应用程序控制器:

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 个答案:

答案 0 :(得分:9)

我建议将current_user移到UserHelper这样的帮助器中,然后将其包含在include UserHelper的模型中。

您还必须在ApplicationController中使用include UserHelper,但helper :user也会在视图中包含正常情况。