代码之家  ›  专栏  ›  技术社区  ›  Godzilla74

哪个Rails活动模型关联?

  •  0
  • Godzilla74  · 技术社区  · 5 年前

    试图用一些activemodel关联策略来概括我的想法。

    以下是我要完成的任务:

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

    所以,我想我需要一个 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
    

    分数模型/表格真的是我绕不过去的地方。也许我把这个复杂化了?非常感谢您的帮助/建议!

    1 回复  |  直到 5 年前
        1
  •  6
  •   jvillian    5 年前

    一眼望去,好像是:

    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