我想在 has_many 关系中获取实例的索引。例如,A有很多Bs,并且有一个b(B的实例) 属于一个a。如果我们b按它们的 id 对所有 s 进行排序,b将是 Xth Bin 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
但显然存在竞争条件。