在我的视图页面上,我想要隐藏在我的application.html.erb中定义的页脚部分,我该怎么做?
我有什么选择呢?
答案 0 :(得分:19)
最简单/最快捷的方法可能是定义条件:
<%= render "layouts/footer" unless @skip_footer %>
然后在您的操作中根据需要设置变量:
def non_footer_action
do_stuff
@skip_footer = true
end
答案 1 :(得分:1)
对我来说,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;
}
}
您可能还想为“footerless”操作使用单独的布局,尽管一个元素不足以成为另一个布局的原因。
答案 2 :(得分:1)
如果页面是“show.html.erb”,您可以执行以下操作:
<% unless action_name == "show" %>
<%= render 'shared/footer' %>
<% end %>