私は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:「フィールドリスト」の不明な列「b.id」:SELECT
a
.id
AS t0_r0、...。
どうすればいいですか?
回答:
回答№1は0設定してみてください primary_key
〜に belongs_to
または has_one
.
これらのオプションの詳細については、次のURLをご覧ください。