0

我在我的 Rails 应用程序中创建了两个模型 1) Contact 2) Customer,现在我想加入这些模型的两个表。表格分别是联系人和客户。我正在使用以下代码:

1)联系人.rb:

class Contact < ActiveRecord::Base
  unloadable
  has_many :customers
end

2) 客户.rb

class Customer < ActiveRecord::Base
  belongs_to :contact, :foreign_key => :contact_id`
end

3)customers_controller.rb

def new
  @customer = Customer.new
  @customer = Customer.find(:all,:include => :contact_id)
end

在这里,我试图将联系人表的主键访问到客户表中,但它反复给出此错误“找不到名为'contact_id'的关联;也许你拼错了?” 谁可以帮我这个事?

4

2 回答 2

0

当您使用 时include,您应该传入关联名称(在您的情况下为“ contact”)而不是外键。

但是,您的描述并没有明确表明这是您想要做的,所以如果您能澄清您的问题,我会更新这个答案,如果它是错误的

于 2011-02-17T12:07:22.430 回答
0

如果我清楚地理解您不需要在联系模型中多元化客户:

class Contact < ActiveRecord::Base
  unloadable
  has_many :customers
end

并且您不需要指定包含外键的列的名称

(对不起我的英语不好)

于 2011-02-17T13:16:26.383 回答