У меня есть форма регистрации, в которой есть вложенные ассоциации / атрибуты, как бы вы их ни называли.
Моя иерархия такова:
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
У меня есть кое-что для проверки в этих классах. Моя проблема заключается в том, что если я пытаюсь создать и Customer (или Employee и т. Д.) С пустой формой, я получаю все ошибки проверки, которые я должен получить, а также некоторые общие ошибки, такие как «Пользователь недействителен» и «Клиент недействителен», если я выполняю итерацию по ошибки я получаю что-то вроде:
user.login can't be blank
User is invalid
customer.whatever is blah blah blah...etc
customer.some_other_error etc etc
Поскольку во вложенной модели User есть хотя бы одно недопустимое поле, в список ошибок добавляется дополнительное сообщение «X is invalid». Это сбивает с толку моего клиента, и поэтому мне интересно, есть ли быстрый способ сделать это вместо того, чтобы самостоятельно разбирать ошибки.