2
在我的项目中,我需要使用像devise(current_user)之类的全局变量,因为我想知道他在哪个项目中的capability.rb。像current_project一样。也许会话的属性,如project_id。 有人做过类似的事情吗?非常感谢!如何在Rails中创建和使用像current_user(devise)这样的全局变量?
在我的项目中,我需要使用像devise(current_user)之类的全局变量,因为我想知道他在哪个项目中的capability.rb。像current_project一样。也许会话的属性,如project_id。 有人做过类似的事情吗?非常感谢!如何在Rails中创建和使用像current_user(devise)这样的全局变量?
试试这个: 您实际上需要将变量存储在会话中。 以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