ObjectAとObjectBの2つのモデルがあります。ObjectBには、ObjectAへの外部キーであるa_1_idとa_2_idの2つの列があります。ObjectBは、これらの外部ObjectAオブジェクトのそれぞれに属しています。
class ObjectA < ActiveRecord::Base
attr_accessible :player_1, :player_2, :subject, :turn
belongs_to :player_1, :class_name => "User"
belongs_to :player_2, :class_name => "User"
has_many :object_b, dependent: :destroy, :finder_sql => "SELECT * FROM object_bs where (a_1_id = #{id} or a_2_id = #{id})"
end
class ObjectB < ActiveRecord::Base
attr_accessible :a_1_id, :a_2_id
belongs_to :a_1_id, :class_name => "ObjectA"
belongs_to :a_2_id, :class_name => "ObjectA"
end
これは、関連付けを設定するための最良の方法ですか?