1

誰かがログインしていて、現在のユーザーがデバイスにいる場合にのみ、パーシャルをレンダリングしたいと考えています。current_user がページを表示しているかどうかを確認する場合、ユーザーがサインインしているかどうかを確認するのは冗長な場合があります。

例: ユーザー 1 としてログインしています。/users/1 に移動したときにメッセージを表示し、/users/2 に移動したときにメッセージを表示したくありません。

逆の場合も同様です。ユーザー 2 は /users/1 にアクセスでき、メッセージは表示されませんが、/users/2 では表示されます。

4

1 に答える 1

1

私はdeviseメソッドを使用しますcurrent_user。コントローラで、このユーザーページがどのユーザーに属しているかを示す変数をビューで確認できるように設定します。次に、それがと同じかどうかを確認しcurrent_userます。

たとえば、ユーザーコントローラーでは次のようになります。

@user = User.find(params[:id])

次に、あなたの見解では:

if (user_signed_in? && current_user == @user)
   ... render your partial
于 2013-02-28T17:00:12.107 に答える