3

私はレールが初めてです。テンプレートの継承を理解するのに苦労しています。以前、私は django で作業し、そこでテンプレートの継承を見てきました。「拡張」コマンドを使用して、子が親について伝えられているのを見ました。ここでそれがどのように機能するかを誰でも説明できますか。ルビーのガイドラインを調べましたが、明確ではありませんでした。

ありがとう

4

1 に答える 1

1

Rails で行うのは非常に簡単です。

現在レンダリングしているテンプレートに、別のテンプレートをレンダリングするように指示するだけです。

たとえば、layouts/application.html.erb次のようなものが含まれています。

<% content_for :navigation do %>
<nav>...</nav>
<% end %>     

<% content_for :content do %>                                                                                                                                                                       
<%= yield %>                                                                                                                                                                                        
<% end %>                                                                                                                                                                                           

<%= render :template => 'layouts/main_application' %>   

重要な部分は、render :templateこのテンプレートを委任しlayouts/main_application.html.erbて、私の場合は次のようにレンダリングする部分です。

<header>
...
</header>
<body>
<%= yield :nav %>
<%= content_for?(:content) ? yield(:content) : yield %> 
</body>

ここで行っているのは、(ログインなどの) ナビゲーションを含まないメイン テンプレートを作成し、application.html.erb がそのナビゲーションを:navコンテンツ プレースホルダーに追加することです。

于 2012-07-20T08:39:54.050 に答える