0

レール2.3.4、rubygems 1.8.24、mac os x lion、ruby1.9.3を使用しています

xmlをinvoiceというオブジェクトにレンダリングしようとしています。ここで、請求書をinvoice_detailに関連付けたので、render:xmlに次のように記述しました。

format.xml  { render :xml => @invoice.to_xml(:include => :invoice_detail) }

ただし、エラーが発生します:ActiveRecord::StatementInvalid無効な列名'invoice_id'

データベースにinvoice_id列がないので、railsにそれを理解してもらいたい。存在しないinvoice_id列を探すのではなく、inventoryDocId列を調べてほしい。それ、どうやったら出来るの?どうもありがとうございます。

4

1 に答える 1

1

モデルの invoice_detail を作成したときに、外部キー列を指定する必要があります。

class InvoiceDetail < ActiveRecord::Base
  belongs_to :invoice, :foreign_key => "inventoryDocId"
end

ここに belongs_to オプションがあります: http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to

于 2012-05-22T09:59:05.083 に答える