1

メイン レイアウト (アプリケーション) と 2 つの「サブ」レイアウト (ダッシュボードと管理者) があります。私のダッシュボードと管理コントローラーにはそれぞれ、テンプレートをレンダリングする before_filter があります。必要なテンプレートです (ダッシュボードまたは管理のいずれか)。

私のダッシュボードと管理レイアウトでは、次のようなことをしています:

<% content_for :top_menu do %>
<%= render partial: "layouts/menu/top", locals: {section: 'admin'} %>
<%= render partial: "layouts/menu/sub", locals: {section: 'admin'} %>
<% end %>

したがって、これには、必要な正しいオプションを示すローカル セクションを含むトップ パーシャルが含まれています。

アプリケーションのレイアウトには、次のものがあります。

SOME HTML HERE
<%= yield :top_menu %>
SOME HTML HERE
<%= yield %>
SOME HTML HERE

問題は、ビューのコンテンツが表示されないことです。アプリケーション レイアウトの「利回り」にある場所にコンテンツが表示されることを期待しています。

私は読んだ:http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts - しかし、それに従うとメニューが2回表示され、まだコンテンツが表示されません。

ここで何かを理解できていないと思います。助けていただければ幸いです。

つまり、トップメニューが必要で、どのメニューを使用するかを指定したいのはコントローラーです。これには、私が見逃しているより良い解決策があると確信しています。

4

1 に答える 1