Dr.Nic のレール用複合主キー (http://compositekeys.rubyforge.org/) を使用しています。
例では、彼は has_many と belongs_to 関係を持っていますが、has_and_belongs_to_many は持っていません
私の関連付けは、書籍からジャンル (書籍にはタイトルと著者の複合基本キーがあります) にうまくいきますが、ジャンルから書籍へは、結合テーブルに存在しない列 book_id をクエリしようとし、エラーが発生します。
class Book < ActiveRecord::Base
self.primary_keys = :title, :author
has_and_belongs_to_many :genres, foreign_key: [:title, :author]
end
class Genre < ActiveRecord::Base
has_and_belongs_to_many :books, foreign_key: [:title, :author]
end
編集::association_foreign_key
ジャンルモデルのオプションを使用して動作させることもできました
class Genre < ActiveRecord::Base
has_and_belongs_to_many :books, association_foreign_key: [:title, :author]
end