Rails 4:嵌套布局?

时间:2013-09-25 20:54:58

标签: ruby-on-rails ruby-on-rails-4

我有一个主要布局(应用程序)和两个“子”布局(仪表板和管理员)。在我的仪表板和管理员控制器中,我有一个提交模板的before_filter:我想要的模板(仪表板或管理员)。

在我的仪表板和管理员布局中,我正在做一些事情:

<% content_for :top_menu do %>
<%= render partial: "layouts/menu/top", locals: {section: 'admin'} %>
<%= render partial: "layouts/menu/sub", locals: {section: 'admin'} %>
<% end %>

所以这包括顶部的局部区域,其中显示了我想要的正确选项。

在我的应用程序布局中,我有以下内容:

SOME HTML HERE
<%= yield :top_menu %>
SOME HTML HERE
<%= yield %>
SOME HTML HERE

问题是我的视图中的内容没有显示,我希望它会显示在我的应用程序布局中'yield'的位置。

我已阅读:http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts - 但是之后只显示两次菜单,但仍然无法显示我的内容。

我认为我在这里没有理解,帮助将不胜感激。

简而言之,我想要顶级菜单,并且我想在控制器中指定要使用的菜单。我确信有一个更好的解决方案,我也想念。

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题:

layout 'menu/admin'

在我的控制器中,添加:

<%= render template: "layouts/application" %>

到我的布局。