has_many scope interferes with validates_uniquess_of

Hi all,

I have code like this:

class Contact < AR::B
  belongs_to :account_id
  has_many :email_addresses
end

class EmailAddress < AR::B
  belongs_to :account
  belongs_to :party
  validates_uniquess_of :address, :scope => :account_id
end

We use subdomain per account, and that's what account_id represents.

Now, if I create an EmailAddress in my tests, my validation rules are
properly triggered. In my controller though, I can expose a failure.
In the controller, here's how I do the create:

class ContactsController < AC
  def create
    @party = Party.create!(params[:party])
    params[:email_address].each do |id, attrs|
      @party.email_addresses.create!(attrs)
    end
  end
end

Creating a new contact with an existing E-Mail address works. The
generated SQL to ensure validation is this:

SELECT * FROM email_addresses WHERE (contact_id = 41) AND (account_id
= 17) AND (address = 'bob@test.com') LIMIT 1

Notice the contact scope ? This is obviously not right: the contact
scope should not be taken into account when doing the validation.

Can anyone confirm / deny my problem ? I'm going to dive into AR's
code tomorrow to expose the bug and attempt to correct it.

Thanks !