我对设计系统有疑问。
我的上一个ruby项目是用nifty:authnentication完成的。有了nifty,我可以管理来自'“controller_authentication.rb”'的current_user和其他信息的会话。但现在,我想添加一个新的current_ *信息。
我想知道我在哪里可以找到current_user方法?在哪里定义?
用漂亮的东西我用过像
这样的东西@current_company ||= Company.find(session[:company_id]) if session[:company_id]
感谢。
答案 0 :(得分:2)
current_user
在Devise中动态定义。由于您的用户模型实际上可能是不同的模型,因此该方法在定义current_whatever辅助方法时使用您的模型名称进行“映射”:
def current_#{mapping}
@current_#{mapping} ||= warden.authenticate(:scope => :#{mapping})
end
https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb#L123
答案 1 :(得分:1)
current_user
被定义为设计源代码中的帮助器。当您在项目上安装设计时,它也会被激活。