2010-10-29 7 views
10

Dado que tengo un modelo de artefacto y un modelo de usuario: me gustaría definir dos campos de artefacto, open_by y assigned_to, cuyos valores son identificadores de usuario y heredan todos los métodos de asociación apropiados.Necesito especificar un nombre de campo diferente de la tabla para la asociación

¿Cuál es el apropiado pertenece a o tiene o tiene muchas opciones que debo establecer?

El objetivo es ser capaz de hacer referencia el nombre del usuario a través del estado hld.assiged_to.name donde hld es un artefacto.

Gracias por la ayuda. Me confundí con la terminología con todas las lecturas que hice sobre el problema.

Respuesta

17

Lo que he determinado es lo siguiente.

clase de artefactos < ActiveRecord :: Base
belongs_to: Proyecto
belongs_to: opened_by,: class_name => 'Usuario'
belongs_to: assigned_to,: class_name => 'Usuario'

El primer argumento en el belongs_to especifica el campo a referenciar. El segundo indica el modelo/clase a usar como referencia.

Cuestiones relacionadas