Actualmente tengo dos modelos diferentes: User
y Project
. El modelo User
tiene tres tipos de usuarios: propietarios, contratistas y clientes. Quiero asignar múltiples contratistas a un proyecto. Estoy tratando esto con una asociación has_many :through
, así:Rails has_many: a través de diferentes nombres de columna en la tabla de asociación
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
Mi problema es en el uso de contractor_id
en la tabla assignments
en lugar de user_id
.
En mi tabla assignments
actualmente tengo las columnas contractor_id
y project_id
. Todo parece funcionar si utilizo user_id
en su lugar, pero eso hará que las cosas sean bastante complicadas más adelante en mis puntos de vista.
¿Cómo puedo lograr esto?
Esto definitivamente funciona el único camino, ahora sólo tiene que conseguir el modelo de usuario para reconocer el 'contractor_id' en lugar de' user_id' cuando llame a '@ user.projects' –
. Modelo de usuario necesario: foreign_key =>: contractor_id en has_many: asignaciones –