Ruby好き非エンジニアのブログ

〜Ruby on Railsの学習記録〜

ログイン周りの修正②

ログインする前とログインした後のヘッダメニューの切り替えをおこないます。

app/views/layouts/_header.html.erb

<header class="navbar navbar-fixed-top navbar-inverse" >
  <div class="container">
    <%= link_to "Jammies", '#', id: "logo" %>
    <nav>
      <ul class="nav navbar-nav navbar-right">
        <li><%= link_to "Jammiesホーム", '#' %></li>
        <li><%= link_to "使い方", '#' %></li>
        <li><%= link_to "お知らせ", '#' %></li>
      <% if current_user %>
        <li><%= link_to "マイページ", current_user %></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            アカウント <b class="caret"></b>
          </a>
          <ul class="dropdown-menu">
            <li><%= link_to "アカウント情報", current_user %></li>
            <li><%= link_to "プロフィールの編集", '#' %></li>
            <li class="divider"></li>
            <li>
              <%= link_to "ログアウト", logout_path, method: "delete" %>
            </li>
          </ul>
        </li>
      <% else %>
        <li><%= link_to "会員登録", signup_path %></li>
        <li><%= link_to "ログイン", login_path %></li>
      <% end %>
      </ul>
     </nav>
   </div>
 </header>

・ログイン前
f:id:Jyoko:20160827183545g:plain

・ログイン後
f:id:Jyoko:20160827183221g:plain

ログイン前に表示されていた「会員登録」や「ログイン」がなくなり、「マイページ」「アカウント」が表示されました。
※「アカウント」のところはプルダウンにしてあります。

あとは、ログアウトする時、/logoutを「URL直接入力」していたのを「ログアウトボタン押下」に変更
config/routes.rb

get 'logout', to: 'sessions#destroy'
↓
delete 'logout', to: 'sessions#destroy'

f:id:Jyoko:20160827183126g:plain

プルダウンもログアウトボタンでのログアウトもできました。

ということで今回はこの辺で。