我想在 has_many 关系中获取实例的索引。例如,A
有很多B
s,并且有一个b
(B
的实例) 属于一个a
。如果我们b
按它们的 id 对所有 s 进行排序,b
将是 Xth B
in a.bs
。我想买X。
甚至有可能不遍历所有内容a.bs
吗?如果我必须创建一个新列来存储这个索引,如何避免竞争条件?
编辑:我想出的解决方案是:
class B < ActiveRecord::Base
before_create :add_extra_index
def add_extra_index
self.extra_index = self.a.bs.count
end
end
但显然存在竞争条件。