哪个Rails活动模型关联?

God*_*a74 0 ruby ruby-on-rails activemodel

试图围绕一些ActiveModel关联策略.

这就是我想要完成的事情:

  1. A Quiz属于Lesson
  2. A User可以参加测验(他们不拥有测验)
  3. 测验分数已保存并属于用户

所以,我相信我需要一个through类型表,例如,user_quiz_scores它会为我提供以下列的跟踪信息:

  • quiz_id
  • 用户身份
  • user_quiz_score

假设到目前为止这个思维过程是正确的,模型看起来像:

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
Run Code Online (Sandbox Code Playgroud)

分数模型/表格实际上是我在缠绕我的头部时遇到的问题.也许我过于复杂了?非常感谢任何帮助/建议!

jvi*_*ian 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
Run Code Online (Sandbox Code Playgroud)