Rails Named Scope and overlapping conditions
- by Tumtu
Hi everyone, have a question about rails SQL generation:
class Organization < ActiveRecord::Base
has_many :people
named_scope :active, :conditions => { :active => 'Yes' }
end
class Person < ActiveRecord::Base
belongs_to :organization
end
Rails SQL for all active people in the first organiztion
Organization.first.people.active.all
[4;36;1mOrganization Load (0.0ms)[0m [0;1mSELECT TOP 1 * FROM [organizations] [0m
[4;35;1mPerson Load (0.0ms)[0m [0mSELECT * FROM [people] WHERE ((([people].[active] = 'Yes') AND ([people].organization_id = 1)) AND ([people].organization_id = 1)) [0m
Why Rails generates "[people].organization_id = 1" condition twice ? Does someone know how to make it DRY ?
e.g.
SELECT * FROM [people] WHERE (([people].[active] = 'Yes') AND ([people].organization_id = 1))