0

テーブルレコードのリストを表示するときのレールでは、各レコードのIDを表示する列があります(テーブルにいくつのレコードが存在するかを確認するため)唯一の問題は、たとえば、レコード番号3が削除された場合です。 id も削除されます (一意性のため)。

IDを表示する代わりに、リストを表示するときに1、2、3、4、5などをリストできる方法はありますか? テーブルで?

これは私のテーブルです:

  <center>
  <p class="recordnumber"><%= pluralize(@ranches.size, 'Ranch') %> found<p>

  <%= render :partial => "shared/newlink" %>

  <table class="listing" summary="Ranches">
   <tr>
    <th>#</th>
    <th>Ranch Name</th>
    <th>Address</th>
    <th>Telephone</th>
    <th>Actions</th>
   </tr>
   <% @ranches.each do |ranch| %>
   <tr class="<%= cycle('odd', 'even') %>">
    <td><%= ranch.id %></td>
    <td><%= ranch.name %></td>
    <td><%= ranch.address_line_1 %>,</br><%= ranch.town_city %>,</br><%= ranch.postcode %></td>
    <td><%= ranch.telephone %></td>
    <td>
     <%= link_to("Edit", {:action => 'edit', :id => ranch.id}, :class => 'buttons') %>
     <%= link_to("Delete", {:action => 'delete', :id => ranch.id}, :class => 'buttons') %>
    </td>
    </tr>
   <% end %>
  </table>

4

1 に答える 1

1

はい。each次のeach_with_indexように置き換えます。

<% @ranches.each_with_index do |ranch, i| %>
   <tr class="<%= cycle('odd', 'even') %>">
    <td><%= i + 1 %></td>
    <td><%= ranch.name %></td>
....

i + 1が存在するのeach_with_indexは、ゼロから始まるからです。

于 2012-11-16T17:17:36.117 に答える