代码之家  ›  专栏  ›  技术社区  ›  seanyboy

我如何向Rails应用程序添加一个简单的菜单(如何使用:菜单)

  •  4
  • seanyboy  · 技术社区  · 15 年前

    我想为我的第一个Rails应用程序添加一个菜单。没什么太复杂的。 我想我应该从application.html.erb引用它,但在那之后我就被卡住了。

    这是我到目前为止得到的(不多)

    <%= render :partial => "menu" %>
    

    我可以从我所在的布局子文件夹中调用此部分吗?

    第二部分。如果我想根据我所在的视图显示不同的内容-我该怎么做?

    <body>
      <p>[<%= yield :menu %>]</p>
      <%= yield %>
    </body>
    </html>
    

    我只是在学Rails,很抱歉问了这么多愚蠢的问题。另外,我不仅对解决方案感兴趣,而且对最佳实践的想法感兴趣。

    1 回复  |  直到 15 年前
        1
  •  5
  •   bjg    15 年前

    基本上你是在寻找 content_for 帮手。将其放入视图中,视图将填充局部或布局中的命名块,例如 :menu . 如果愿意,您可以选择使用partials来实际定义 的内容 区域。

    在视图中:

    <% content_for :menu do %>
      <ul>
        <li> ... </li>
        <li> ... </li>
      </ul>
    <% end %>
    

    <% content_for :menu do %>
      <%= render :partial => "some_menu_content" %>
    <% end %>
    

    <div id="menu">
      <%= yield :menu%>
    </div>
    

    看这个 screencast 从Railscasts系列中获取更多信息。它很旧,但仍然适用