2011-01-29 48 views
1

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

回答

0

我有一个所谓的 “菜单” 文件夹/应用/视图/设计/

在有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方法(这是相当不错)

+2

这些只是指向登录/注册页面的链接。不是你可以在你自己的观点中包含的东西。 – Lucas 2011-05-23 14:54:54