habtmというメソッド。

Ruby on Rails Guides: A Guide to Active Record Associations

The use of extra attributes on the join table in a has_and_belongs_to_many association is deprecated. If you require this sort of complex behavior on the table that joins two models in a many-to-many relationship, you should use a has_many :through association instead of has_and_belongs_to_many.

「has_and_belongs_to_many」はなくしちゃうから、これからは代わりに「has_many :through」を使ってね。っていうことだったと記憶していたんですが、あらためてドキュメントを読んだら「非推奨なのは関連が属性を持つ場合だけ」ととれる感じになっていました。ずっと勘違いしてたっぽい。それともどこかのタイミングで変わったのかしらん。[要出典]

で、migrationは手動で作ってね、とこんな感じ。

ActiveRecord::Associations::ClassMethods

The join table should not have a primary key or a model associated with it. You must manually generate the join table with a migration such as this:

タイトルとURLをコピーしました