Wie Sie im unten stehenden Schema sehen können, kann ein Benutzer Kurse erstellen und über course_completion eine Zeit und ein Video (wie youtube) dafür einreichen.
Was ich tun möchte, ist es, eine Kursvervollständigung für einen Benutzer, einen bestimmten Kurs und basierend auf dem Attribut "pov" (Sicht)
zu begrenzen. Zum Beispiel für den Kurs "Höhenlauf" ein Benutzer kann nur eine course_completion mit pov = true und/oder eine mit pov = false haben Das bedeutet, dass ich beim Erstellen der Kursvervollständigung prüfen muss, ob es bereits existiert oder nicht, und beim Update muss ich es auch überprüfen und den vorherigen Datensatz zerstören (oder aktualisieren Sie es).Schienenverbindungsbegrenzungsdatensatz basierend auf einem Attribut
Ich weiß nicht, ob ich klar genug bin, was ich tun möchte, vielleicht weil ich keine Ahnung habe, wie man es richtig mit Schienen 4 macht (außer Tonnen von Codezeilen mit nutzlosen Überprüfungen) . Ich dachte daran, alles in nur eine course_completion (normal_time, pov_time, normal_video, pov_video) zu setzen, aber ich mag die Idee nicht:/
Kann mir jemand dabei helfen?
Danke für jede Hilfe!
Hier sind meine Klassen:
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