Attualmente ho due modelli diversi: User
e Project
. Il modello User
ha tre tipi di utenti: proprietari, appaltatori e clienti. Voglio assegnare più appaltatori a un progetto. Sto provando questo con un'associazione has_many :through
, in questo modo:Rails has_many: attraverso con nome di colonna diverso nella tabella di associazione
Class User
has_many :assignments
has_many :projects, :through => :assignments
Class Project
has_many :assignments
has_many :contractors, :through => :assignments
Class Assignment
belongs_to :user
belongs_to :project
mio problema è nell'uso contractor_id
nella tabella assignments
invece di user_id
.
Nella tabella assignments
attualmente sono presenti le colonne contractor_id
e project_id
. Tutto sembra funzionare se uso invece lo user_id
, ma ciò causerà problemi nelle mie visualizzazioni.
Come potrei realizzare questo?
questo funziona sicuramente l'unico modo, ora ho solo bisogno di ottenere il modello all'utente di riconoscere il 'contractor_id' invece di' user_id' quando ho chiama '@ user.projects' –
capito. Modello utente necessario: foreign_key =>: contractor_id su has_many: assignments –