2014-12-07 26 views

回答

3

试试这个: 您实际上需要将变量存储在会话中。 以CURRENT_USER它自身的例子: - 在您的应用控制器(/app/controllers/application_controller.rb)添加一个辅助方法如下:

class ApplicationController < ActionController::Base 

    protect_from_forgery 

    helper_method :current_user 

    private 
    def current_user 
    @current_user ||= User.find(session[:user_id]) if session[:user_id] 
    end 
end 

的CURRENT_USER方法,通过其ID获取当前用户,使用会话变量中的id,并将结果缓存到实例变量中。我们也将它作为一个辅助方法,以便我们可以在应用程序的视图代码中使用它。

参考 - http://railscasts.com/episodes/250-authentication-from-scratch?view=asciicast