0

リソースの複雑な「リスト」を表示するコードがあります。複雑とは、名前、日付、投稿時刻、コメント数、写真、説明など、明らかにそのコード ブロックを 1 回だけ記述したいということです。

これがRailsアーキテクチャにどのように組み込まれるかを考えようとしていますが、途方に暮れています

別のコントローラーで別の変数を使用して、リソースの一覧を表示する必要があります。現在、_resource_view.html.erb と呼ばれるパーシャルにあります

これはメインのリストには問題ありませんが、個人のプロファイル リストには使用できません。同じフォーマットを使用しますが、異なるリソースが表示されます。

_resources_expanded.html.erb

<ul class="res-list">
  <% @resources.each do |resource| %>
    ... list stuff
  <% end %>
</ul>

インデックスでは @resources を使用していますが、プロファイル ページでは、それ以外は同じリスティング コードを使用しています。@user.resources.each do |resource|

私はおそらくこのようなことを考えていましたが、これは冗長に思えます..そして、それが機能するかどうかさえわかりません

<ul class="res-list">
  <% @resources.each do |resource| %>
    <%= render 'layouts/resources_expanded' %>
  <% end %>
</ul>
4

1 に答える 1

2

@resources.eachインスタンス変数を使用しないでください。部分変数でローカル変数を使用してください。これにより、ループを通過するたびに単一の変数を渡すことができます。

<%= render 'layouts/resources_expanded', :resource => resource %>

次に、_resource_view.html.erb で @resource を resource に変更します

于 2012-04-13T01:41:15.530 に答える