2016-08-12 7 views
0

Rails newbie here。CMSコンテンツをレンダリングでレンダリングする方法

私のCMSとして快適なメキシコのソファを使用する。

私は、ユーザーの表示ページにサイドバーナビゲーション付きの独自のレイアウトがあるアプリケーションがあります。サイドバーのリンクは、私は、対応するコンテンツを生成するために、そのレイアウトの歩留まりをしたい

<% Comfy::Cms::Site.first.pages.root.children.published.each do |page| %> 
<li><%= link_to page.label, page.url(:relative) %></li> 
<% end %> 

で生成されます。それを達成するためのスーパーRailsの方法がなければならないが、私はそれを理解できない。

答えて

0

あなたの探していると思いますcontent_forあなたはこのようにそれを使用することができます

<% content_for :sidebar do %> 
    <% Comfy::Cms::Site.first.pages.root.children.published.each do |page| %> 
    <li><%= link_to page.label, page.url(:relative) %></li> 
    <% end %> 
    <% end %> 

あなたのレイアウトや他のテンプレート内:あなたのテンプレート内

あなたはこのような、後で使用するための部品を取り込むことができます

<%= content_for :sidebar %> 
+0

これは、サイドバーの内容を引き起こしサイドバーdivではなくメインのコンテンツdivにレンダリングする。 – foureyedraven

+0

これは '<%= content_for:sidebar%>'の配置場所によって異なります。どこにでも置くことができます。 – slowjack2k

+0

私は説明がうまくいかなかったかもしれません。私が持っていたコードは、サイドバーを生成する上でうまくいった。私がcontent_forを使用したいのは、リンクが移動するページのコンテンツです。リンクをクリックすると、yieldまたはcontent_forがそのリンクのコンテンツに変更されます。 – foureyedraven

関連する問題