2013-10-11 8 views
9

Ich habe ein DB-Layout wie folgt:Gehört zu Primärschlüssel?

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

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

Im Grunde ein Benutzer viele Leads hat. Das Feld initials wird dem Feld name in der Benutzertabelle zugeordnet. Ich habe eine Beziehung für die Benutzer-Setup, das perfekt funktioniert:

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

Aber ich kann nicht herausfinden, wie es in die andere Richtung belongs_to mit tun:

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

, das nicht zu funktionieren scheint .

Irgendwelche Ideen?

Antwort

22

Optionen sollen das gleiche wie in has_many :leads Assoziation sein:

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

Brilliant! Danke – andy

+0

In welcher Rails Version war es intorduced? – czerasz

+1

@czerasz Ich weiß es nicht genau, aber es ist ein sehr altes Feature. Ich bin mir ziemlich sicher, dass es bereits in Rails 2.x war. –