2013-10-11 5 views
9

У меня есть макет БД так:Принадлежит первичному ключу?

Users 
-------------- 
id, name, etc... 

Lead 
-------------- 
id, initials, etc.. 

В принципе пользователь имеет много потенциальных клиентов. Поле initials отображает поле name в таблице пользователей. У меня есть отношения для настройки пользователей, которая работает идеально:

has_many :leads, :foreign_key => 'initials', 
       :primary_key => 'name' 

Но я не могу понять, как сделать это по-другому, используя belongs_to:

belongs_to :user, :foreign_key => 'name', 
        :primary_key => 'initials' 

Это не похоже на работу ,

Любые идеи?

ответ

22

Параметры должны быть такими же, как и в has_many :leads ассоциации:

belongs_to :user, foreign_key: :initials, primary_key: :name 
+0

Brilliant! Спасибо – andy

+0

В какой версии Rails он был интродуцирован? – czerasz

+1

@czerasz Я точно не знаю, но очень старая особенность. Я совершенно уверен, что он уже был в Rails 2.x. –

Смежные вопросы