2

ビュー内のモデルのループを2つのテーブルに分割する最良の方法は何ですか。十分に単純に思えます。

   <div>
        <table>
          <tr><th>Refreshments and Exhibits</th></tr>
          <% @exhibitor.each do |exhibitor| %>
          <tr>
            <td><%= exhibitor.name %></td>
          </tr>
        <% end %>
        </table>
    </div>
    <div>
        <table>
          <tr><th>Refreshments and Exhibits</th></tr>
          <% @exhibitor.each do |exhibitor| %>
          <tr>
            <td><%= exhibitor.name %></td>
          </tr>
        <% end %>
        </table>
     </div>

これにより、同じテーブルが 2 回表示されます。@exhibitor をループして、最初のテーブルの td を 15 まで埋めたいと思っています。

4

1 に答える 1

3

15のテーブルが必要な場合は、これを行います

<% @exhibitors.each_slice(15) do |exhibitors_group| %>
  <div>
    <table>
      <tr><th>Refreshments and Exhibits</th></tr>
      <% exhibitors_group.each do |exhibitor| %>
        <tr>
          <td><%= exhibitor.name %></td>
        </tr>
      <% end %>
    </table>
  </div>
<% end %>

最初の 15 と他のテーブルの残りが必要な場合は、これを行います

  <div>
    <table>
      <tr><th>Refreshments and Exhibits</th></tr>
      <% @exhibitor[0..15].each do |exhibitor| %>
        <tr>
          <td><%= exhibitor.name %></td>
        </tr>
      <% end %>
    </table>
  </div>


  <div>
    <table>
      <tr><th>Refreshments and Exhibits</th></tr>
      <% @exhibitors[16..-1].each do |exhibitor| %>
        <tr>
          <td><%= exhibitor.name %></td>
        </tr>
      <% end %>
    </table>
  </div>

また、次の 2 つのことも考慮する必要があります。

  • これらのテーブルにヘルパーまたはレイアウトを使用する
  • ビューで配列をスライスする代わりに、コントローラーでそれを行います
于 2012-12-28T01:20:29.030 に答える