0

Aşağıdaki şemada gördüğünüz gibi, bir kullanıcı kurslar oluşturabilir ve kurs_sonraması yoluyla bir zaman ve bir video (youtube gibi) gönderebilir.
Yapmak istediğim, bir kullanıcı için bir dersin tamamlanmasını, belirli bir kursu ve bir "pov" özniteliğini (bakış açısı) temel alan 1 ile sınırlamaktır.
Örneğin, "yüksek irtifa yarışı" dersi için bir kullanıcı pov = true ve/veya pov = false olan bir course_completion'ına sahip olabilirsiniz.
Bu, dersi tamamladığınızda, mevcut olup olmadığını kontrol etmek zorundayım. Güncelleme sırasında da kontrol etmem ve önceki kaydı yok etmem gerekiyor (veya güncelleyin).raylar, bir özniteliğe dayalı ilişkilendirme sınırı kaydını

Ne yapmak istediğime yeterince açık olup olmadığımı bilmiyorum, bunun nedeni, 4 (kodların tonlarca kod kullanılmadığı sürece) . Her şeyi sadece bir course_completion (normal_time, pov_time, normal_video, pov_video) içine koymayı düşünüyordum ama şu fikri beğenmedim:/

Birisi bana bu konuda yardımcı olabilir mi?
Yardımlarınız için teşekkürler! Sen kullanabilirsiniz

class CourseCompletion < ActiveRecord::Base 
    belongs_to :course 
    belongs_to :user 
    belongs_to :video_info 

    # attribute pov 
    # attribute time 
end 

class Course < ActiveRecord::Base 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :courses 
    has_many :course_completions 
end 

cevap

0

Rails - Validations kapsam ile benzersizliği doğrular: Burada

benim sınıflardır.

class CourseCompletion < ActiveRecord::Base 
    belongs_to :course 
    belongs_to :user 
    belongs_to :video_info 

    validates :course, uniqueness: { scope: :pov, message: "only one course per pov" } 

    # attribute pov 
    # attribute time 
end 
İlgili konular