forked from heartcombo/devise
-
Notifications
You must be signed in to change notification settings - Fork 4
How To: Add sign_in, sign_out, and sign_up links to your layout template
tanji edited this page Aug 30, 2011
·
18 revisions
# views/devise/menu/_login_items.html.erb
<% if user_signed_in? %>
<li>
<%= link_to('Logout', destroy_user_session_path, :method => :delete) %>
</li>
<% else %>
<li>
<%= link_to('Login', new_user_session_path) %>
</li>
<% end %>
# views/devise/menu/_registration_items.html.erb
<% if user_signed_in? %>
<li>
<%= link_to('Edit registration', edit_user_registration_path) %>
</li>
<% else %>
<li>
<%= link_to('Register', new_user_registration_path) %>
</li>
<% end %>
Then use these templates in your `layouts/application.html.erb`, like this
# layouts/application.html.erb
<ul class="hmenu">
<%= render 'devise/menu/registration_items' %>
<%= render 'devise/menu/login_items' %>
</ul>
<%= yield %>
Add some menu styling to the css (here for a horizontal menu)
ul.hmenu {
list-style: none;
margin: 0 0 2em;
padding: 0;
}
ul.hmenu li {
display: inline;
}
Enjoy!