From 5de1a974f4dcf4db6af7d62801c73aa60fc83e07 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Mon, 9 May 2011 16:26:06 +0900 Subject: [PATCH] Ensure that ORDER BY clauses from default scopes are not included in total_count queries in AR 3.1.beta1 see: https://github.com/rails/rails/issues/406 --- lib/kaminari/models/active_record_relation_methods.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/kaminari/models/active_record_relation_methods.rb b/lib/kaminari/models/active_record_relation_methods.rb index ba8f52a..c9596b6 100644 --- a/lib/kaminari/models/active_record_relation_methods.rb +++ b/lib/kaminari/models/active_record_relation_methods.rb @@ -13,6 +13,8 @@ module Kaminari def total_count #:nodoc: # #count overrides the #select which could include generated columns referenced in #order, so skip #order here, where it's irrelevant to the result anyway c = except(:offset, :limit, :order) + # a workaround for 3.1.beta1 bug. see: https://github.com/rails/rails/issues/406 + c = c.reorder nil # Remove includes only if they are irrelevant c = c.except(:includes) unless references_eager_loaded_tables? # .group returns an OrderdHash that responds to #count