私はRailsにかなり慣れていないので、私が話している「インスタンス変数」ではない場合は申し訳ありません!
私は認証に Devise を使用しているため、アプリ全体で current_user などを使用できます。私が構築しているアプリには User モデルだけでなく、Keyholder モデル (そのユーザーの一種のモデレーター) と Guest (そのユーザーのいくつかのものへの読み取り専用アクセス権を持つ) もあります。
私が知りたいのは、たとえば access_user をキーホルダーとしてログインして current_user と同じオブジェクトにアクセスできるように設定できますか? もしそうなら、アプリのどこにコードを配置すればよいですか? それはすぐに非常に冗長になり、Rails のように繰り返さなければならなくなります。
私が達成しようとしているのは、現在のユーザーの代わりに「access_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
ありがとう!