gpt4 book ai didi

ruby-on-rails - 我将如何向 Rails 应用程序添加一个简单的菜单? (如何使用yield :menu)

转载 作者:行者123 更新时间:2023-12-04 05:42:44 26 4
gpt4 key购买 nike

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

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

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

如果我在 application.html.erb 中呈现部分调用“菜单”,我应该把菜单文件放在哪里,我叫它什么?它是否需要进入 View 的 Controller ?

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

第二部分。如果我想根据我所在的 View 显示不同的内容 - 我该怎么做?
<body>
<p>[<%= yield :menu %>]</p>
<%= yield %>
</body>
</html>

我只是在学习 Rails,对这些愚蠢的问题感到抱歉。此外,我不仅对解决方案感兴趣,而且对最佳实践的想法感兴趣。

最佳答案

基本上,您正在寻找 content_for helper 。你把它放在你的 View 中,然后它会在局部或布局中填充命名块,例如 :menu .如果您愿意,您可以选择使用部分来实际定义 content_for 的内容。地区。

在一个观点:

<% 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 系列获取更多信息。它很旧但仍然适用

关于ruby-on-rails - 我将如何向 Rails 应用程序添加一个简单的菜单? (如何使用yield :menu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264450/

26 4 0