içinde hangi modele bağlı olduğuna bağlı olarak bir polimorfik modelin niteliğini doğrulayın Temel olarak üç modelim var: bir Profile
model, bir Staff
model ve bir Client
modeli.Rails 4
Staff
için Profile
model oluşturulduysa, çalışan en az 18 yıl önce olmalıdır. (Yaşı kontrol etmek için bir validates_date
yardımcı yöntemini kullanıyorum, aşağıya bakın) Client
için Profile
model oluşturulduysa, o zaman yaş kısıtlaması yoktur.
Bu nasıl başarılır?
Profile.rb:
class Profile < ActiveRecord::Base
belongs_to :profileable, polymorphic: true
validates_date :date_of_birth, :before => 16.years.ago
end
Staff.rb:
class Staff < ActiveRecord::Base
has_one :profile, as: :profileable, :dependent => :destroy
end
Client.rb:
class Client < ActiveRecord::Base
has_one :profile, as: :profileable, :dependent => :destroy
end