在我的application.html.erb中,我有一个标题部分。,我使用渲染标记
<%= render 'layouts/header' %>
因此,此标头适用于所有控制器和所有操作。
除了一个控制器外,我想要显示的下拉部分,除了标题部分之外还有 。我想要像
这样的东西<%= render 'layouts/dropdown' except_controller_anycontroller %>
当我把
render :partial => 'layouts/dropdown'
它只是呈现下拉部分和所有其他布局都丢失(如页脚,标题,正文)。我想将额外的下拉部分仅添加到某些操作和控制器。
如何在Rails 3.2.13中实现这一目标?
答案 0 :(得分:1)
用以下内容替换渲染:
<%= render 'layouts/dropdown' unless @disable_dropdown %>
然后你可以在任何你喜欢的控制器中将disable_dropdown设置为true:
def test_method
@disable_dropdown = true
end
在你的控制器过滤器中调用此方法,你不想在其中显示:
在第一种方法之上将其写在控制器之上:
before_filter :test_method
当您的请求到达此控制器时,它将自动被调用。
希望它会有所帮助。感谢
答案 1 :(得分:0)
我会建议像:
<%= render 'layouts/dropdown' unless params[:controller] == "controller_to_avoid" %>