我需要在我的模型中找到当前登录的用户。
我在cattr_accessor
模型中定义了current_logged_in
User
。
现在,当用户登录时,我设置了User.current_logged_in = current_user.id
。
稍后,在其他模型中,我使用User.current_logged_in_user
访问变量。截至目前,它有效。
这是实施此方法的正确方法吗?
答案 0 :(得分:0)
实现它的好方法,除非您只是将代码作为学习练习,否则使用像devise这样的插件。
那就是说,你应该避免访问模型中的current_user。 current_user是一个会话事物,不应该绑定到模型。而是将current_user作为参数传递给模型中的方法。类似的东西:
def can_delete_item(user)
if user.is_admin?
....
else
.....
end
.....
end