【问题标题】:Devise in Rails - partials?在 Rails 中设计 - 部分?
【发布时间】:2011-01-29 06:39:34
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我在 /app/views/devise/ 中有一个名为“menu”的文件夹

    里面有两个部分:

    _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那里学到的方法(相当不错)

    【讨论】:

    • 这些只是登录/注册页面的链接。不能包含在您自己的视图中。
    猜你喜欢
    • 2012-12-10
    • 1970-01-01
    • 2013-10-27
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多