使用group子句时,Will_paginate会在计数时给出“异常”结果

时间:2011-10-04 03:07:47

标签: ruby-on-rails ruby-on-rails-3 will-paginate

使用Rails3和will_paginate 3.0.2并看到一个不寻常的问题:

  

Rating.paginate(:page => 1).count

=> 3

但是如果我添加组子句:

  

Rating.paginate(:page => 1,:group =>“drill_id”)。count

=> {3 => 2,4 => 1}

我发现最接近的谷歌搜索结果是: https://github.com/mislav/will_paginate/issues/167

但这似乎不是完全相同的问题。任何想法?

1 个答案:

答案 0 :(得分:2)

您正在从#count获得分组结果。它基本上是每Rating drill_id的计数。结果哈希的键是drill_id s,其对应的值是此Rating的{​​{1}} s的计数。有关详细信息,请参阅AR::Calculations#count

您想知道所有drill_id之间有多少drill_id个?选择一个:

  • 修复查询

    Rating

  • 计算密钥

    Rating.select('DISTINCT drill_id').count