Как скрыть макет нижнего колонтитула на определенной странице? - PullRequest
6 голосов
/ 27 февраля 2011

На моей странице просмотра я хочу скрыть партиал нижнего колонтитула, определенный в моем application.html.erb, как я могу это сделать?

какие варианты у меня есть для этого?

Ответы [ 2 ]

19 голосов
/ 27 февраля 2011

Самый простой / быстрый способ, вероятно, состоит в определении условия:

<%= render "layouts/footer" unless @skip_footer %>

и затем установите необходимую переменную в ваших действиях:

def non_footer_action
  do_stuff
  @skip_footer = true
end
1 голос
/ 20 мая 2014

Для меня решение CSS наиболее близко к общепринятому:

app/controllers/resources_controller.rb

class ResourcesController < ApplicationController
  def action
    # ...
  end
end

app/views/layouts/application.html.erb

<body class="<%= "#{controller_path} #{action_name}" %>">
  <!-- ... -->
  <footer></footer>
</body>

app/assets/stylesheets/resources.css.scss

body.resources {

  // Hide footer for certain views

  &.action footer {
    display: none;
  }
}

Вы также можете использовать отдельный макет для действий «без нижнего колонтитула», хотя один элемент не является достаточной причиной для другого макета.

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