多態的な関係に対してスコープされた子モデルの属性の一意性を検証することは可能ですか?
たとえば、私はにfield
属すると呼ばれるモデルを持っていfieldable
ます:
class Field < ActiveRecord::Base
belongs_to :fieldable, :polymorphic => :true
validates_uniqueness_of :name, :scope => :fieldable_id
end
私は多くのフィールドを持つ他のいくつかのモデル(ページ、アイテム)を持っています。したがって、親モデルに対してフィールド名の一意性を検証する必要がありますが、問題は、ページとアイテムが同じID番号を共有することがあり、検証が失敗するはずがない場合に失敗することです。
私はこれを間違ってやっているだけですか、それともこれを行うためのより良い方法がありますか?