やりたいこと
- Town has_many :spots
- Spot belongs_to :town
- city_nameとtown_nameの2つのカラムで接続
こうしたらできました↓
Town.rb
class Town < ActiveRecord::Base
has_many :spots, -> (object) { where(city_name: object.city_name)}, primary_key: :name, foreign_key: :town_name, class_name: 'Spot'
end
ポイント
- (object)でselfを引数に
- primary_keyとforeign_keyは条件が一つしかなくIDを使わない場合と同様に設定する
できてしまえば簡単ですが、ググってもやり方がすぐにわからず実験しながら解決しました。今後の参考になれば。