ActiveRecord::StatementInvalid 呈现 xml 并使用 :include 方法时列名无效



我正在使用rails 2.3.4,rubygems 1.8.24,mac os x lion和Ruby 1.9.3

我正在尝试将 xml 呈现为名为发票的对象。现在,我将发票与invoice_detail相关联,因此在我的渲染:xml中我写道:

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

但发生错误:活动记录::语句无效 无效的列名"invoice_id"

我的数据库中没有invoice_id列,现在我希望 Rails 理解这一点。我希望它查看 inventoryDocId 列,而不是查找不存在的invoice_id列。我该怎么做?谢谢。

创建模型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

最新更新