2015-11-12 2 views
0

В моей application.html.erb я рендеринга заголовок и NavbarКак скрыть частичные виды на рельсах.

<%= render 'layouts/header' %> 
<%= render 'layouts/navbar' %> 
<%= yield %> 

На взгляд DEViSE Я хочу, чтобы скрыть заголовок и Navbar и отображать только вид входа в систему.

+0

вы можете отобразить другой макет, где эти частичные части отсутствуют – MMachinegun

ответ

4

вы могли бы проверить для devise_controller:

<% unless devise_controller? %> 
    <%= render 'layouts/header' %> 
    <%= render 'layouts/navbar' %> 
<% end %> 
<%= yield %> 
0

Как упомянуто marczking, вы можете использовать команду devise_controller? в application макете, или вы можете создать совершенно другой макет:

#app/controllers/application_controller.rb 
class ApplicationController < ActionController::Base 
    layout :auth, if: devise_controller? 
end 

-

отображение только вида на вход

Если вы только хотели показать заголовок на входе, вы можете использовать другой помощник DEViSE - user_signed_in?:

<% unless user_signed_in? %> 
    <%= render 'layouts/header' %> 
<% end %> 

Это покажет заголовок/NAV, когда пользователь не авторизован.

Смежные вопросы