Fel*_*sen 2 ruby-on-rails actionview actioncontroller
我的布局中有一个子菜单,它与控制器不同,但不是每个控制器方法视图之间.我目前正在做的是以下内容:
<% content_for( :submenu ) do %>
<%= render :partial => 'submenus/correct_submenu' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在方法的每个视图中
我的应用程序布局就是这个
<%= yield :submenu %>
Run Code Online (Sandbox Code Playgroud)
然而,这对于每个视图都是重复的.有没有办法在每个控制器上执行此操作?
我的建议是有一个约定,所以如果你有一个ProductsController子菜单submenus/products_menu.这样你就可以写一个看起来像这样的帮手:
def render_submenu
content_for(:submenu) { render :partial => "submenus/#{controller.controller_name}_menu" }
end
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
<%= render_submenu %>
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其设置为子菜单的默认content_,并且只有在需要不同时才指定内容.
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
1347 次 |
| 最近记录: |