我开始在我的一个Rails项目中使用Devise进行身份验证。它似乎在'devise'文件夹下创建了一些视图,但它们不是偏见的。我想知道,如果我想在另一个控制器中包含登录或注册视图会发生什么?它似乎无法从任何其他控制器呈现。如何获得登录,注册等部分?
答案 0 :(得分:0)
我在/ app / views / devise /
中有一个名为“menu”的文件夹有2个部分:
_login_items.html.erb
<% if user_signed_in? %>
<li><%= link_to('Logout', destroy_user_session_path) %></li>
<% else %>
<li><%= link_to('Login', new_user_session_path) %></li>
<% end %>
<li>User:
<% if current_user %>
<%= current_user.full_name %>
<% else %>
(not logged in)
<% end %>
</li>
<强> _registration_items.html.erb 强>
<% if user_signed_in? %>
<li><%= link_to 'Dashboard', dashboard_path %></li>
<% else %>
<li><%= link_to 'Sign up', new_user_registration_path %></li>
<% end %>
然后,在我的任何布局中,我想要包含登录/注册内容,我会执行以下操作:
<div id="header">
<ul>
<li>Some common nav item</li>
<%= render 'devise/menu/login_items' %>
</ul>
</div>
我相信我从this tutorial学到了这个方法(非常好)