【发布时间】:2011-02-27 02:36:39
【问题描述】:
在我的视图页面上,我想隐藏在 application.html.erb 中定义的页脚部分,我该怎么做?
我有哪些选择?
【问题讨论】:
标签: ruby-on-rails
在我的视图页面上,我想隐藏在 application.html.erb 中定义的页脚部分,我该怎么做?
我有哪些选择?
【问题讨论】:
标签: ruby-on-rails
最简单/最快的方法可能是定义一个条件:
<%= render "layouts/footer" unless @skip_footer %>
然后在您的操作中根据需要设置变量:
def non_footer_action
do_stuff
@skip_footer = true
end
【讨论】:
对我来说,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» 操作使用单独的布局,尽管 一个 元素不足以成为另一个布局的理由。
【讨论】:
如果页面是“show.html.erb”,您可以执行以下操作:
<% unless action_name == "show" %>
<%= render 'shared/footer' %>
<% end %>
【讨论】: