如何将集合传递给包含块的 Rails 部分。(或者,如何绕过 Rails 魔法)。
我有一种感觉,我从错误的角度考虑这个问题。谁能指出我正确的方向?
假设我有一个包含两个重复块的索引,如下所示:
<div class="content">
<table>
<thead>
<tr>
<th>COL1</th>
<th>COL2</th>
<th>COL3</th>
</tr>
</thead>
<tbody>
<% @collectionA.each do |a| %>
<tr>
<td><%= a.col1 %></td>
<td><%= a.col2 %></td>
<td><%= a.col3 %></td>
</tr>
<% end %>
<tr><%= will_paginate @collectionA %></tr>
</tbody>
</table>
<br />
<table>
<thead>
<tr>
<th>COL1</th>
<th>COL2</th>
<th>COL3</th>
</tr>
</thead>
<tbody>
<% @collectionB.each do |b| %>
<tr>
<td><%= b.col1 %></td>
<td><%= b.col2 %></td>
<td><%= b.col3 %></td>
</tr>
<% end %>
<tr><%= will_paginate @collectionA %></tr>
</tbody>
</table>
</div>
我的第一轮干燥可能看起来像这样。
...
<tbody>
<%= render :partial => 'collections', :collection => @collectionA %>
</tbody>
<%= will_paginate @collectionA %>
...
<tbody>
<%= render :partial => 'collections', :collection => @collectionb %>
</tbody>
<%= will_paginate @collectionB %>
...
但是如果我也需要移动will_paginate
到部分中,这样我就可以对其进行 ajaxify 处理。
如果我只有一个街区,我会做
<tbody>
<%= render :partial => 'collection' %>
</tbody>
并且在部分
<% @collection.each do |col| %>
STUFF
<% end %>
<%= will_paginate @collection %>
但是如果我有两个块,我怎样才能将@collection-A 和@collection-B 传递给部分?
还是我看错了?感谢您的任何指示。