我有一個學校對象和通過has_many :through, :uniq => true
關係加入的用戶對象之間的ActiveRecord。爲什麼ActiveRecord objects.size返回錯誤的數字?
在學校上課,我有一個具體的方法來查詢學生:
def students
self.users.where(educations: {end_date: nil})
end
這似乎正確地給我唯一的用戶只(無重複),但奇怪的是school.students.size
給我包含重複記錄的計數!但是,如果我看一下school.students返回的enumerable,它只會顯示唯一的記錄。
我試着在where查詢的末尾添加一個#uniq。這似乎不能解決問題。到目前爲止,我唯一的解決方案是使用school.students.compact.size
,但這是不對的。
順便說一句,school.users.size
給了我一個準確的數。
請問您可以分享一下嗎? – Rahul 2013-03-18 06:22:39