Rails - проверка уникальности вложенных атрибутов с помощью родительской области родительского элемента

У меня проблема с валидацией уникальности в Rails для вложенных атрибутов с родителем parent.

Фон

У меня есть приложение рельсы 4 с 3 моделями:

#app/models/account.rb
class Account < ActiveRecord::Base
  has_many :contacts, dependent: :destroy
end

#app/models/contact.rb
class Contact < ActiveRecord::Base
  belongs_to :account
  has_many :email_addresses, dependent: :destroy, validate: :true, inverse_of: :contact
  accepts_nested_attributes_for :email_addresses,allow_destroy: true
  validates :email_addresses, presence: true
end

#app/models/email_address.rb
class EmailAddress  < ActiveRecord::Base
  belongs_to :contact, inverse_of: :email_addresses

  validates :label, presence: true
  validates :contact, presence: true
  validates :email, uniqueness: true, presence: true
  validates_email_format_of :email
end

вопрос

Я хочу сделать прицел,чтобы убедиться, что атрибут : адрес электронной почты модели EmailAddressуникален на уровне аккаунта (Учетная запись является родителем контакта, который сам является родителем EmailAddress).

Как предложено вhttp://guides.rubyonrails.org/active_record_validations.html, Я старался :

 class EmailAddress  < ActiveRecord::Base
  belongs_to :contact, inverse_of: :email_addresses

  validates :label, presence: true
  validates :contact, presence: true
  validates :email, presence: true, uniqueness: { scope: :account, 
                    message: "This contact email is already taken" }
  validates_email_format_of :email
 end

Возникает ошибка «столбец email_addresses.account не существует» Что мне делать?

Спасибо за помощь!

Ответы на вопрос(2)

Ваш ответ на вопрос