Разработать в Rails - частичные? - PullRequest
1 голос
/ 29 января 2011

Я начал использовать Devise для аутентификации в одном из моих Rails-проектов. Кажется, что он создает некоторые представления в папке «devise», но они не являются частичными. Мне интересно, что произойдет, если я захочу включить логин или регистрацию в другом контроллере? Кажется, что он не может быть визуализирован с каких-либо других контроллеров. Как я могу получить частичное за вход в систему, зарегистрироваться и т. Д.

1 Ответ

0 голосов
/ 29 января 2011

У меня есть папка с именем "menu" внутри / app / views / devise /

В ней есть 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>

Мне кажется, я изучил метод из этого урока (что довольно неплохо)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...