У меня есть форма регистрации, в которой есть вложенные ассоциации/атрибуты, как бы вы их ни называли.
Моя иерархия такова:
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :user_role, :polymorphic => true
end
class Customer < ActiveRecord::Base
has_one :user, :as => :user_role, :dependent => :destroy
accepts_nested_attributes_for :user, :allow_destroy => true
validates_associated :user
end
class Employee < ActiveRecord::Base
has_one :user, :as => :user_role, :dependent => :destroy
accepts_nested_attributes_for :user, :allow_destroy => true
validates_associated :user
end
У меня также есть некоторые вещи для проверки в этих классах. Моя проблема в том, что если я пытаюсь создать и Клиент (или Сотрудник и т. д.) с пустой формой, я получаю все ошибки проверки, которые я должен получить, плюс некоторые общие, такие как «Пользователь недействителен» и «Клиент недействителен». Если я повторяю ошибки я получаю что-то вроде:
user.login can't be blank
User is invalid
customer.whatever is blah blah blah...etc
customer.some_other_error etc etc
Поскольку во вложенной модели пользователя есть хотя бы одно недопустимое поле, в список ошибок добавляется дополнительное сообщение «X недопустимо». Это сбивает с толку моего клиента, и поэтому мне интересно, есть ли быстрый способ сделать это вместо того, чтобы самому просматривать ошибки.