ruby2.5.1 rails5
困っていること
トップページのみ、navbarを表示せずに上詰めしたいと思っています。
gem deviseのログイン画面をトップページにしているためcontrollerにdisplay:none;を加えることが難しく悩んでいます。
該当ソースコード
application.html.erb
<!DOCTYPE html> <html> <head> <%= favicon_link_tag %> <title><%= full_title(yield(:title)) %></title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> <script> $('.dropdown-toggle').dropdown() </script> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <nav id="mainNav" class="navbar navbar-default navbar-fixed-top"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <% if user_signed_in? %> <%= link_to "マイページ", user_path(current_user), class:"navbar-brand" %> <% else %> <%= link_to image_tag('logo1.png',:size => '160x50'), user_session_path %> <% end %> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <% if user_signed_in? %> <li><%= link_to "一覧画面", rooms_path %></li> <li><%= link_to "ユーザ一覧", users_path %></li> <li><%= link_to "ログアウト", destroy_user_session_path, :method => :delete %></li> <% else %> <% end %> </ul> </div> </div> </nav> <div class="main-page"> <%= yield %> </div> </body> <%= render 'layouts/footer' %> </html>
試してみたこと
.body.logged-in #mainNav{ display:none; }
というのは簡単そうで素敵でしたが、うまく動作しませんでした。
それにログイン前のページとして
・トップページ(ログイン画面)
・アカウント登録画面
・サイト説明のページ
の3つがあり、できればトップページのみnavbarを消したいと思っています。
そんな都合のことはできるのでしょうか?
ヘルパーでnavbarを作成して、application.html.erbからnavbarを削除、トップページ以外にヘルパーを導入すればうまくいきそうですがrails的にそれは避けたいです。
toppage
views/devise/sessions/new.html.erb
良い方法があれば教えて頂きたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。