【发布时间】:2013-03-18 03:08:26
【问题描述】:
我在 School 对象和通过 has_many :through, :uniq => true 关系连接的 User 对象之间有一个 ActiveRecord。
在学校课堂上,我有一个特定的方法来查询学生:
def students
self.users.where(educations: {end_date: nil})
end
这似乎正确地只给了我唯一的用户(无重复),但奇怪的是school.students.size 给了我一个包含重复记录的计数!但是,如果我查看 school.students 返回的可枚举,它只显示唯一记录。
我尝试在 where 查询的末尾添加 #uniq。这似乎不能解决问题。到目前为止,我唯一的解决方案是使用school.students.compact.size,但这不可能。
顺便说一句,school.users.size 给了我一个准确的计数。
【问题讨论】:
-
能否请您也分享一个要点?
标签: ruby-on-rails ruby-on-rails-3 activerecord rails-activerecord