0

私はレッスンテーブルとユーザーテーブルを持っています。レッスンには多くの学生(ユーザー)がいて、学生は多くのレッスンを持つことができるので、これを次のように2つのモデルに保存します

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 に答える