1

私は次のようないくつかの記事(ウェブサイト用)を含むデータベーステーブルを持っています:

Articles:
id       title         order_id
1          -            1
2          -            4
3          -            3
4          -            2

Webページでorder_idを使用して記事を注文したいのですが、これはRORアクティブレコードを使用して完全に正常に機能します。

ただし、order_idを更新する場合は、order_idが変更されるたびに、この手法を使用してすべてのレコードを更新する必要があります。これを行うためのより良い方法は何ですか?

ありがとう

4

2 に答える 2

3

act_as_listが必要です:

class Article < ActiveRecord::Base
  acts_as_list :column => 'order_id'
end

並べ替えを実行するときに大量のレコードを更新することは避けられませんが、acts_as_list はArticle#move_to_topや などのメソッドを使用してすべてを行うことができますArticle#move_lower

于 2012-09-07T21:23:43.660 に答える