我对 Rails 相当陌生,所以如果它不是我所说的“实例变量”,我深表歉意!
我正在使用 Devise 进行身份验证,因此可以在整个应用程序中使用 current_user 之类的东西。我正在构建的应用程序有一个 User 模型,还有一个 Keyholder 模型(他是该用户的一种版主)和一个 Guest(他对该用户的某些内容具有只读访问权限)。
我想知道的是 - 我可以设置它以便我可以在以密钥持有者身份登录时使用例如 access_user 来访问与 current_user 相同的对象 - 如果是这样,我应该将代码放在我的应用程序中的什么位置?它很快变得非常冗长和不像Rails,否则不得不重复自己。
我想要实现的是能够使用'access_user'而不是current_user,这样无论是用户、密钥持有者还是访客登录,它都会使用用户对象。
例如:
def access_user
if user_signed_in?
access_user = current_user
end
if keyholder_signed_in?
access_user = current_keyholder.user
end
if guest_signed_in?
access_user = current_guest.user
end
end
谢谢!