私の知る限り、レコードがそのピアでインデックス化されている場所を自動的に確認する方法はありません。
私がこれを行った方法は、配列を反復処理しながらインデックスを追跡することです。
したがって、ERB の場合:
<% @article.comments.each_with_index do |comment, index| %>
<div class="comment_id"><%= index + 1 %></div>
<div class="content"><%= comment.content %></div>
または HAML:
-@article.comments.each_with_index do |comment, index|
.comment_id= index + 1
.content= comment.content
ページネーションの場合は、index + 1 + (page*num_items)
または何かが必要です。
iteration_id
次のような列を追加してから、作成前のフィルターを次のように Comment モデルに追加することで、データベースにインデックスを保存できます。
before_create do
last_comment = article.comments.unscoped.order("iteration_id DESC").select('iteration_id').first
self.iteration_id = last_comment ? last_comment.iteration_id + 1 : 0
true
end
コメントも破棄された場合は、何かをする必要があります。
それが役立つことを願っています!