我想以has_many关系获取实例的索引。例如,A
有很多B
个,而b
(B
的实例)属于a
。如果我们按其ID排序所有b
,b
将在B
中排在第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
但显然存在竞争条件。