Please could you file this as an issue on Github, with a full example of
the models you are using?

Jon

On Sun, 2011-06-12 at 14:52 -0700, jgelo wrote:
> I've run into an issue in Rails 3.1 RC4 where the count query is
> failing because of a default_scope.  The scope has an include and a
> condition on the included association but count is dropping the
> include.  Here's what it looks like -
> 
> default_scope where('campaigns.inactive = ?',
> false).order('funds.name').includes(:campaigns)
> 
> Rails 3.1 RC4 -
> 
> ruby-1.9.2-p180 :001 > Fund.count
> [2011-06-12 14:35:43 | WARN   | n/a | named_scope.rb:175:in
> `valid_scope_name?']
> > Creating scope :all. Overwriting existing method Fund.all.
> [2011-06-12 14:35:43 | DEBUG  | n/a | log_subscriber.rb:105:in `debug']
> >    (0.4ms)  SELECT COUNT(*) FROM "funds" WHERE (campaigns.inactive = 'f')
> ActiveRecord::StatementInvalid: PGError: ERROR:  missing FROM-clause
> entry for table "campaigns"
> LINE 1: SELECT COUNT(*) FROM "funds"  WHERE (campaigns.inactive =
> 'f...
> 
> 
> Rails 3.0.8 -
> 
> ruby-1.9.2-p180 :001 > Fund.count
>  => 1
> 
> SQL (43.8ms)  SELECT COUNT(DISTINCT "funds"."id") FROM "funds" LEFT
> OUTER JOIN "campaigns" ON "campaigns"."fund_id" = "funds"."id" WHERE
> (campaigns.inactive = 'f')
> 

-- 
http://jonathanleighton.com/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to