2010-10-29 5 views
10

Da ich ein Artefaktmodell und ein Benutzermodell habe: Ich möchte zwei Artefaktfelder definieren, opened_by und assigned_to, die Werte sind User IDs und erben alle richtige Assoziationsmethoden.Ich muss einen anderen Feldnamen als die Tabelle für die Assoziation angeben

Was ist die richtige orders_to oder has_one oder has_many Optionen, die ich einstellen sollte?

Das Ziel ist, in der Lage sein den Namen des Benutzers durch die Anweisung zu referenzieren hld.assiged_to.name wo hld ein Artefakt ist.

Danke für die Hilfe. Ich habe mich bei der ganzen Lektüre, die ich über das Problem gemacht habe, mit der Terminologie verwechselt.

Antwort

17

Das Folgende ist, was ich festgestellt habe, war richtig.

Klasse Artifact < Activerecord :: Base
belongs_to: Projekt
belongs_to: opened_by,: class_name => 'User'
belongs_to: assigned_to,: class_name => 'User'

Das erste Argument in dem "sounds_to" gibt das Referenzfeld an. Die zweite gibt das Modell/die Klasse an, die als Referenz verwendet werden soll.

Verwandte Themen