Ruby on rails 设置用于查找当前用户的类变量

Ruby on rails 设置用于查找当前用户的类变量,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我需要在我的模型中找到当前登录的用户 我在用户模型中定义了cattr\u访问器当前登录的 现在,当用户登录时,我设置user.current\u logged\u in=current\u user.id 稍后,在其他模型中,我使用User.current\u logged\u in\u User访问变量。到目前为止,它仍然有效 这是实现这一点的正确方法吗?这是一种很好的实现方法,除非您只是在学习代码,而是使用类似于的插件 也就是说,您应该避免访问模型中的当前用户。当前用户是会话对象,不应绑定到

我需要在我的模型中找到当前登录的用户

我在
用户
模型中定义了
cattr\u访问器
当前登录的

现在,当用户登录时,我设置
user.current\u logged\u in=current\u user.id

稍后,在其他模型中,我使用
User.current\u logged\u in\u User
访问变量。到目前为止,它仍然有效


这是实现这一点的正确方法吗?

这是一种很好的实现方法,除非您只是在学习代码,而是使用类似于的插件

也就是说,您应该避免访问模型中的当前用户。当前用户是会话对象,不应绑定到模型。而是将当前用户作为参数传递给模型中的方法。比如:

def can_delete_item(user)
  if user.is_admin?
    ....
  else
    .....
  end
    .....
end

我已经有了一个rails应用程序。需要重写它以使其成为多租户。所以这是我想到的一个棘手的解决办法,插入当前用户id和我保存的所有数据。这样我就可以知道哪些数据属于哪个租户。我只是想保存对所有.create和.new方法的重写,以便在控制器中包括(:tenant\u id=>current\u tenant\u id)。