DBはPostgreSQLです。
モデルの構成は、
ruby
1class Company < ActiveRecord::Base 2 has_many :contacts, as: :receive_company 3end 4 5class Contact < ActiveRecord::Base 6 belongs_to :receive_company, class_name: "Company" 7end
のようにしています。
Companyはid
Contactはreceive_company_id
を持っています。
ここで、
ruby
1@company = Company.find(42) 2@contacts = @company.contacts
として、contact一覧を取得したいのですが、以下のようなエラーが出てしまいます。
ruby
1PG::UndefinedColumn: ERROR: column contacts.receive_company_type does not exist LINE 1: ...ts" WHERE "contacts"."receive_company_id" = $1 AND "contacts"... ^ : SELECT "contacts".* FROM "contacts" WHERE "contacts"."receive_company_id" = $1 AND "contacts"."receive_company_type" = $2
receive_company_idを使って一覧を取得すると思いますが、どこからかreceive_company_typeというものが出てきています。
そもそもモデルのリレーションの実装の仕方が悪い気もするのですが、どのように解決すればいいかわかりません。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/02/08 10:11 編集
退会済みユーザー
2017/02/08 11:13