has_many & own_to не работает в рельсах - PullRequest
0 голосов
/ 17 февраля 2011

Я создал две модели 1) Контакт 2) Клиент в моем приложении Rails, теперь я хочу объединить две таблицы этих моделей.Таблицы являются контактами и клиентами соответственно.Я использую следующий код:

1) contact.rb:

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

2) customer.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' не найдена; возможно, вы ее неправильно написали?"Может ли кто-нибудь помочь мне в этом?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2011

Если я четко понимаю, что вам не нужно использовать множественное число клиентов в модели контакта:

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

И вам не нужно указывать имя столбца, который содержит внешний ключ

(простите за мой английский)

0 голосов
/ 17 февраля 2011

Когда вы используете include, вы должны передать имя ассоциации (в вашем случае "contact"), а не внешний ключ.

Однако ваше описание не дает четкого представления о том, что вы хотите сделать, поэтому, если вы сможете уточнить свой вопрос, я обновлю этот ответ, если он неправильный

...