根据wikibooks.org和rubyonrails.org,这应该有效:
Table.average(:score, :conditions => ['user_id=?', 1])
但事实并非如此。为什么?当我在上面做的时候,我的控制台说:
SELECT AVG("table"."score") FROM "table"
完全没有条件。
最终,我做了我想要的事情:
Table.where('user_id=?', 1).average(:score)
但我仍然感到困惑。
答案 0 :(得分:0)
您尝试使用从Rails 4.0开始已deprecated的所谓finders api
并已移至单独的gem activerecord-deprecated-finders以便从旧版本迁移。 Finders api
从Rails 4.1开始completely removed。
根据上述解决方案
User.where(user_id: 1).average(:score)
是对的。