Ruby on rails 带导轨的动态菜单(在一个视图中引用两个控制器的输出)

Ruby on rails 带导轨的动态菜单(在一个视图中引用两个控制器的输出),ruby-on-rails,ruby,menu,controllers,Ruby On Rails,Ruby,Menu,Controllers,我一直在试图找到一种方法来显示应用程序从数据库生成的侧菜单。由于菜单需要用户可编辑,我认为最好的做法是将其创建为一个支架,并添加一个“显示菜单”操作,以树状方式呈现菜单,而支架的其余部分则允许管理员用户修改菜单项 现在,我遇到了一个小问题——我想不出从application.html.erb(我正在使用它作为所有动作和控制器的包装器)中“调用”show menu动作的方法。它有一个“主体”,其中有一条“屈服”线,这显然会让引用哪个控制器来呈现它的输出。在此之前,我希望在html的不同部分显示动态

我一直在试图找到一种方法来显示应用程序从数据库生成的侧菜单。由于菜单需要用户可编辑,我认为最好的做法是将其创建为一个支架,并添加一个“显示菜单”操作,以树状方式呈现菜单,而支架的其余部分则允许管理员用户修改菜单项

现在,我遇到了一个小问题——我想不出从application.html.erb(我正在使用它作为所有动作和控制器的包装器)中“调用”show menu动作的方法。它有一个“主体”,其中有一条“屈服”线,这显然会让引用哪个控制器来呈现它的输出。在此之前,我希望在html的不同部分显示动态菜单

这有可能吗?人们将如何着手去做呢


因为无论显示哪个特定操作(视图),相同的菜单都应该是可见的,所以我希望避免在应用程序的每个控制器的每个视图中都使用相同的“菜单呈现”逻辑

从你的术语来看,我不能完全确定这是否是你所需要的,但现在开始。如果要为不同类型的信息保留版面的不同部分,可以这样做

<!-- In application.html.erb -->
<%= yield :menu %>
<!-- Main content goes here -->
<%= yield %>
在application.html.erb中

<div id="menu">
   <%@menu.each do |menu|%>
      <!-- Do something with menu -->
   <% end %>
</div>

从您的术语来看,我不完全确定这是否是您所需要的,但现在开始。如果要为不同类型的信息保留版面的不同部分,可以这样做

<!-- In application.html.erb -->
<%= yield :menu %>
<!-- Main content goes here -->
<%= yield %>
在application.html.erb中

<div id="menu">
   <%@menu.each do |menu|%>
      <!-- Do something with menu -->
   <% end %>
</div>


谢谢你的回答。我忘了提到我的意图是避免在我的所有视图中使用相同的“content_for”块(因为会有一些视图)。无论用户查看哪个视图,菜单都保持不变,因此我希望以某种方式将其集中。在这种情况下,您需要将菜单添加到布局中,这样它在每个视图中都可用。是的,如果是静态菜单,我会直接将其添加到布局中,但是如果应该通过查询数据库来生成它,我该如何添加它呢?这就是我的问题:)将查询放在过滤器之前的
中,或者使用单元格gem。我更新了我的答案。看来@MarnenLaibow Koser也有同样的想法。谢谢你的回答。我忘了提到我的意图是避免在我的所有视图中使用相同的“content_for”块(因为会有一些视图)。无论用户查看哪个视图,菜单都保持不变,因此我希望以某种方式将其集中。在这种情况下,您需要将菜单添加到布局中,这样它在每个视图中都可用。是的,如果是静态菜单,我会直接将其添加到布局中,但是如果应该通过查询数据库来生成它,我该如何添加它呢?这就是我的问题:)将查询放在过滤器之前的
中,或者使用单元格gem。我更新了我的答案。看来@MarnenLaibow Koser也有同样的想法。