クラスで宣言することにより、外部キーをマッピングしています。
しかし、レールは自動割り当てされた外部キーを呼び出し、エラーをスローしています。
where句クラス宣言の不明な列は
以下に示されています。
class Supplier < ActiveRecord::Base
has_one :criteria
self.primary_key = 'sup_id'
end
class Criteria < ActiveRecord::Base
belongs_to :supplier, :foreign_key => "crt_sup_id"
self.primary_key = 'crt_id'
self.table_name = 'criterias'
end
クラス Criteria で self.supplier を使用している場合、正常に動作しています
しかし、クラス Supplier で self.criteria を使用している場合、次のようにエラーがスローされます。
「where 句」の不明な列「criterias.supplier_id」: SELECT criterias
.* FROM criterias
WHERE criterias
。supplier_id
基準にsupplier_idという名前のフィールドがありません。代わりに、クラスで定義されているcrt_sup_idを使用しています。