Ruby on rails 模型中可用的Rails 3辅助方法

Ruby on rails 模型中可用的Rails 3辅助方法,ruby-on-rails,ruby-on-rails-3,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 class Applica

我正在将一个应用程序升级到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
class ApplicationController
因为我们定义了“helper\u method”,所以所有视图都可以使用“current\u user”。它对控制器可用,因为它们都从类ApplicationController继承


然而,当我们在2.3.8上时,可以通过模型访问“当前用户”,但现在不行了。有没有一种方法可以将其公开给模型?

我可以建议将
当前用户
移动到像
用户助手
这样的助手中,然后您可以使用
包含用户助手
将其包含在模型中


您还必须
在应用程序控制器中包含UserHelper
,但是
helper:user
也会像普通一样将其包含到视图中。

这会在访问模型文件时导致
堆栈级别太深
错误。可能无法使用rails 3.2(我已经尝试过使用3.2.3和3.2.8)。这里也一样……有什么方法可以做到吗?听起来像是在做一些递归调用,让它陷入一个无休止的循环。