Bir çocuk modelinin bir polimorfik ilişkiye aykırı özniteliğinin benzersizliğini doğrulamak mümkün mü?Rails AR validates_uniqueness_of polimorfik ilişkiye karşı
class Field < ActiveRecord::Base
belongs_to :fieldable, :polymorphic => :true
validates_uniqueness_of :name, :scope => :fieldable_id
end
Birçok Fields sahip birkaç diğer modeller (Sayfalar, Öğeleri) vardır:
Mesela ben fieldable
aittir field
adında bir modeli var. Yani istediğim, alan adının ana modele yönelik benzersizliğini doğrulamaktır, ancak sorun, bir Page ve bir Öğenin aynı kimlik numarasını paylaşması, doğrulamaların yapılmaması gerektiğinde başarısız olmasına neden olmasıdır.
Sadece bunu yanlış mı yapıyorum yoksa bunu yapmanın daha iyi bir yolu var mı? Bir itibariyle
class Field < ActiveRecord::Base
belongs_to :fieldable, :polymorphic => :true
validates_uniqueness_of :fieldable_id, :scope => [:fieldable_id, :fieldable_type], :message => 'cannot be duplicated'
end
: doğrulama eklemek Ayrıca varsayılan mesaj geçersiz veya kapsamı kullanmak için bir mesaj ekleyebilirsiniz
class Field < ActiveRecord::Base
belongs_to :fieldable, :polymorphic => :true
validates_uniqueness_of :name, :scope => [:fieldable_id, :fieldable_type]
end
Teşekkür ederiz. Nasıl olduğunu bildiğiniz zaman basitler :) – aaronrussell