0

我有一个课程表和一个用户表,一个课程可以有很多学生(用户),一个学生可以有很多课程,所以我将它存储在两个模型中,如下所示

class Lesson < ActiveRecord::Base
  has_and_belongs_to_many :students, class_name: 'User', foreign_key: 'lesson_id', uniq: true
end

class User < ActiveRecord::Base
  has_and_belongs_to_many :lessons_signed_up, class_name: 'Lesson', foreign_key: 'user_id', uniq: true
end

对于那个协会,我有一张桌子

lesson_id | user_id
         1|       1 
         2|       1

但我也想存储课程的状态,无论是否完成,所以我会使用表格

lesson_id | user_id | completed
        1 |       1 | true
        1 |       2 | false

如何为课程和用户之间的关系添加额外的属性?

4

1 回答 1

0

您不应使用 habtm 关系,而应使用 has_many :through。您可以在此处找到有关它的信息:http: //guides.rubyonrails.org/association_basics.html#the-has_many-through-association

基本上,您将关系表制作成模型。

于 2013-03-26T16:21:48.903 回答