has_many 関係でインスタンスのインデックスを取得したい。たとえば、 にA
は多くB
の があり、に属するb
(のインスタンス) があります。すべての を ID で並べ替えると、 のX 番目になります。Xを手に入れたい。B
a
b
b
B
a.bs
すべてを反復しなくても可能a.bs
ですか? このインデックスを格納するために新しい列を作成する必要がある場合、競合状態を回避するにはどうすればよいですか?
編集:私が考え出した解決策は次のとおりです。
class B < ActiveRecord::Base
before_create :add_extra_index
def add_extra_index
self.extra_index = self.a.bs.count
end
end
しかし、明らかに競合状態があります。