试图绕过ActiveModel关联策略。
这就是我要完成的工作:
Quiz
属于Lesson
User
可以参加测验(他们不拥有测验)因此,我相信我需要一个through
类型表,例如user_quiz_scores
,该表将为我提供以下各列的跟踪信息:
假设目前为止这种想法是正确的,那么模型将类似于:
class Lesson < ApplicationRecord
has_one :quiz
end
class Quiz < ApplicationRecord
belongs_to :lesson
end
class Score < ApplicationRecord
has_many ??????
end
class User < ApplicationRecord
has_many :scores
end
Score模型/表格确实是我遇到麻烦的地方。也许我把这个复杂化了吗?任何帮助/建议都将不胜感激!
答案 0 :(得分:6)
乍一看,看起来就像是这样:
class Lesson < ApplicationRecord
has_one :quiz
end
class Quiz < ApplicationRecord
belongs_to :lesson
has_many :scores
has_many :users, through: :scores
end
class Score < ApplicationRecord
belongs_to :user
belongs_to :quiz
end
class User < ApplicationRecord
has_many :scores
has_many :quizzes, through: :scores
end