足あと機能を実装するとき
先日、足あと機能を実装した時に書いた多対多のリレーションについてメモ。
テーブルはこんな感じにした。
Memberテーブル
id | name |
---|---|
1 | yaginuuu |
2 | taro |
Footprintテーブル
id | member_id | visitor_id |
---|---|---|
1 | 1 | 2 |
これでtaroさんがyaginuuuさんに足あとをつけたと表現する。
多対多の関連!
で、書いたコードはこれ。
member.rb
has_many :footprints, :class_name => "Footprint", :foreign_key => :member_id has_many :visitors, :through => :footprints has_many :footprints, :class_name => "Footprint", :foreign_key => :visitor_id has_many :members, :through => :footprints
footprint.rb
belongs_to :visitor, :class_name => "Member", :foreign_key => :visitor_id belongs_to :member, :class_name => "Member", :foreign_key => :member_id
参照が逆でつまったのでメモしますた。