2017-06-06 1 views
-7

Je suis très nouveau à Ruby on Rails mais je suis décent avec SQL. Je suis actuellement en train d'essayer de faire une association pour deux tables ... bien en fait plus mais cet exemple unique devrait répondre à ma question pour tous. Ceux-ci sont fictifs mais représentent mon problème donc ne pas déranger s'ils ne suivraient pas les meilleures pratiques ...Ruby on Rails ayant plus d'une colonne étrangère différente clavetée à la même table

Tables: UTILISATEUR, LOCA --- Ils avaient autrefois des caractères de nom de table limités dans la journée.

-LOCA

LocationID - PK

-USER

USERID - PK; LIVES_LOCATION - FK (LOCATIONID); WORKS_LOCATION - FK (LOCATIONID); MANAGERID ....... etc

Comment faire dans Ruby on Rails, faire la classe avec belongs_to et has_many avec les noms de foreign_key corrects pour les colonnes correctes?

+0

Quelle est l'association entre USER & LOCA? –

+0

L'UTILISATEUR a un lieu de vie et un lieu de travail. LOCA est l'emplacement avec un emplacementid – AJHughes

+0

http://guides.rubyonrails.org/association_basics.html – Iceman

Répondre

0
class User 
    belongs_to :lives, class_name: 'Loca', foreign_key: 'lives_location' 
    belongs_to :works, class_name: 'Loca', foreign_key: 'works_location' 

    ... 
end 

class Loca 
    has_many :users 

    ... 
end 
+0

donc la clé étrangère est la colonne de la table en cours! Merci beaucoup – AJHughes