2017-02-07 7 views
0

Deviseを使用してユーザー認証を処理していますが、ユーザーがサインイン/ログインした場合にのみナビゲーションバーを表示したいと考えています。ページ。ログインページでレンダリングしないようにすることができました:ログイン/サインアップ後にレンダリングバーを表示

<%= render 'shared/navigation' unless current_page?(user_session_url) %> 

ただし、複数のURLを使用することはありません。

提案がありますか?あなたはその

<%= render 'shared/navigation' if current_user %> 

工夫ような何かを行うことができます

答えて

3

はあなたにない場合は、ユーザーがサインアップしたり、ログインしてfalseされている場合、ユーザーオブジェクトを返しますcurrent_userヘルパーを提供します。

またはあなたはまた、ユーザーがログインまたはfalseていない場合はされている場合trueとしてブール値を返しますuser_signed_in?方法を使用することができます?

<%= render 'shared/navigation' if user_signed_in? %> 
+2

だけブール値を返す 'メソッド' user_signed_inもありますが'<%= render 'shared/navigation'(user_signed_inなら'%=レンダリング 'shared/navigation')を読みやすくすることができます。 %> ' – hattila91

+0

同意してください!私の答えを自由に編集してください、私は喜んでそれを受け入れます。 – VAD

+0

ありがとう!私は、Deviseのヘルパーを使ってNavバーをレンダリングするとは思わなかった。私はページURLに焦点を当てているようだが、現在のユーザーがいるかどうかをチェックするのではない! current_userとuser_signed_inの両方素晴らしい仕事!ありがとう@VAD – user7529735

関連する問題