Rails的'average`方法不起作用

时间:2015-09-15 06:39:26

标签: ruby-on-rails ruby ruby-on-rails-4 average

根据wikibooks.orgrubyonrails.org,这应该有效:

Table.average(:score, :conditions => ['user_id=?', 1])

但事实并非如此。为什么?当我在上面做的时候,我的控制台说:

SELECT AVG("table"."score") FROM "table"

完全没有条件。

最终,我做了我想要的事情:

Table.where('user_id=?', 1).average(:score)

但我仍然感到困惑。

1 个答案:

答案 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)

是对的。