0

私は2つのモデルを持っており、1つは主キーとして「id」を持っています。2番目のモデルには、主キーとして「id」がありません。代わりに複合キーがあります。これらに参加するには?

class A < ActiveRecord::Base
  has_one :B, :order => "dt DESC"
end

class B < ActiveRecord::Base
  belongs_to :A, :foreign_key => :emp_id
end

emp_idは外部キーとして機能します。Aのコントローラーでは、

arel = A.includes(:b)

これは失敗します。次のエラーが発生します、

ActiveRecord :: StatementInvalid(Mysql2 :: Error:Unknown column'b.id' in'field list':SELECT .AS t0_r0 aid...。

どうすればいいですか?

4

1 に答える 1

0

またはに設定してみてprimary_keyください。belongs_tohas_one

これらのオプションの詳細については、次のURLをご覧ください。

ActiveRecordbelongs_to

ActiveRecord has_one

于 2013-03-11T11:03:57.690 に答える