设计Rails - 部分?

时间:2011-01-29 06:39:35

标签: ruby-on-rails

我开始在我的一个Rails项目中使用Devise进行身份验证。它似乎在'devise'文件夹下创建了一些视图,但它们不是偏见的。我想知道,如果我想在另一个控制器中包含登录或注册视图会发生什么?它似乎无法从任何其他控制器呈现。如何获得登录,注册等部分?

1 个答案:

答案 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学到了这个方法(非常好)