我正在将应用程序升级到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”,但现在却没有。有没有办法让这些模型暴露出来?
答案 0 :(得分:9)
我建议将current_user
移到UserHelper
这样的帮助器中,然后将其包含在include UserHelper
的模型中。
您还必须在ApplicationController中使用include UserHelper
,但helper :user
也会在视图中包含正常情况。