質問: 初めてRailsにDeviseを入れてみました。 ※モデル名は、初期設定の「User」から「Employee」にしました 早速ログイン画面を表示させましたが、 ログイン後に見えるようにすべきナビゲーション(メニュー)が 見えてしまっています。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ea0fa1befcf406aabae79f1457affb4f.jpeg) 原因は、application.html.erb を全体で適用しているからなんですが、 これをログイン画面のみ適用しないようには出来ないでしょうか? 調べたところ以下のような情報が見つかりました。 Ruby on Railsでapplication.html.erbを適用したくないページの設定 上記の方法は適用したくないアクションで render :layout => nilとする方法です。 ですが、画像のアドレスバーを見ていただきたいのですが、 Deviseが転送(構築?)したアドレスであり、 Employeesコントローラにsign_inアクションなどありません。 なので上記の方法が使えず困りました。 皆さんはどのようにされていますでしょうか? 宜しくお願い致します。 application.html.erb ``` DEMO <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <%= render 'shared/header_menu' %> <%= yield %> ```
回答: 発想を変えてみました。 「ログインした時だけグローバルナビ表示」 すれば良いと気付きました。 そこでapplication.html.erbを以下のように変更することで 簡単に解決出来ました。 ``` <% if employee_signed_in? %> <%= render 'shared/header_menu' %> <% end %> ``` 誰かのお役にたてば幸いです。 有難う御座いました。