私はあなたがそれらを呼びたいものは何でもネストされた関連/属性を持っているサインアップフォームを持っています。
私の階層はこれです:
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
ネストされたユーザーモデルには少なくとも1つの無効なフィールドがあるため、エラーのリストに「Xは無効です」というメッセージが追加されます。これは私のクライアントを混乱させるので、自分でエラーをファイリングする代わりに、これを行うための迅速な方法があるかどうか疑問に思っています。