我正在将应用升级到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”,但现在不是.有没有办法让这种暴露于模型?
解决方法
我可以建议将current_user移动到像UserHelper这样的帮助器中,然后可以将它包含在包含UserHelper的模型中.
您还必须在您的ApplicationController中包含UserHelper,但是帮助器:用户将会将其包含在您的视图中.