RoRに慣れるためにサンプルサイトを構築しています。「Railsを使ったアジャイルWeb開発」という本をある程度まで読んで、今は実験して参考にしていますが、問題の答えが見つかりませんでした。
私は2つの興味のあるモデルを持っています。1つはスーパーマーケットチェーンで、もう1つはスーパーマーケットです。明らかに、スーパーマーケットチェーンにはたくさんのスーパーマーケットがあります。私がやろうとしているのは、単一のスーパーマーケットチェーンの基本的な「表示」ページを取得して、それに属するスーパーマーケットのリストを表示することです。
また、繰り返したくなかったので(明らかに非常に悪いことなので)、「render」を使用して、スーパーマーケットのindex.html.erbをsupermarketchain/show.html.erbページに挿入できると思いました。 :
<%= render :template => 'supermarkets/index' %>
ただし、ページでの出力はゼロでした。
私の次のアプローチは、これを部分的にすることでした:
<div id="supermarket-list">
<h1><%= I18n.t "supermarket.title" %></h1>
<table>
<% for s in @supermarkets %>
<tr class="<%= cycle('list-line-odd', 'list-line-even') %>">
<td>
<%= s.supermarketchain.name %>
</td>
<td>
<%= s.address %>
</td>
<td class="list-actions">
<%= link_to I18n.t("general.show"), s%> <br/>
<%= link_to I18n.t("general.edit"), edit_supermarket_path(s) %> <br />
<%= link_to I18n.t("general.delete"), s, :confirm => I18n.t("general.confirmation"), :method => :delete %>
</td>
</tr>
<%end%>
</table>
</div>
そして、以下を使用します。
<% @supermarkets = Supermarket.all %>
<%= render :partial => 'supermarkets/supermarket' %>
スーパーマーケットチェーンのショーページに挿入します。
私が疑問に思っているのは、これが良い習慣であるかどうかです。表示したいのがスーパーマーケットのコントローラーの「インデックス」アクションの正確な結果である場合、パーシャルで使用するために変数を初期化するのは奇妙に思えます。コメント?
必要な説明を求めてください。