0

您能否建议以下情况的最佳方法: 子菜单方法:我有不同的子菜单,如 submenu1、submenu2 等(每个子菜单都有自己的选项卡选项)。我想按页面显示子菜单意味着根据打开的页面划分子菜单。

What I am planning for this:
<% content_for(:menu) do %>
    <%=  render :partail => "submanu" %>
<% end %>

and calling that section by <%= yield(:menu) %>

谢谢

4

1 回答 1

0

我已经基于辅助方法“显示菜单”和控制器中的哈希实现了类似的东西。在你的情况下,我会建议类似:

def show
@menu = [{title: "menu.pages.one", controller: "pages", action: "one"},
{title: "menu.test.two", controller: "test", action: "two"}]
end

然后您可以将它与显示每个菜单项并创建如下链接的辅助方法结合使用:

link_to t(item[:title]), :controller => item[:controller], :action => item[:action]

我已经使用 helper 方法为每个链接创建了一个 haml 布局,但您也可以使用部分链接。因此,您可以在每个控制器/方法中创建一个可自我解释的可扩展菜单。

于 2012-10-20T10:04:27.403 回答