私は次の設定をしています:
class Publication < ActiveRecord::Base
has_and_belongs_to_many :authors, :class_name=>'Person', :join_table => 'authors_publications'
has_and_belongs_to_many :editors, :class_name=>'Person', :join_table => 'editors_publications'
end
class Person < ActiveRecord::Base
has_and_belongs_to_many :publications
end
この設定で、私はのようなことをすることができますPublication.first.authors
。しかし、人が関与しているすべての出版物を一覧表示したい場合はPerson.first.publications
、結合テーブルが見つからないというエラーがpeople_publications
スローされます。どうすれば修正できますか?
著者と編集者のために別々のモデルに切り替える必要がありますか?ただし、人はある出版物の著者であり、別の出版物の編集者である可能性があるため、データベースにある程度の冗長性が導入されます。