Pregunta

Deseo una relación has_many se describe a continuación

class User < ActiveRecord::Base
  has_many :mcollections, :foreign_key=>'obj_id'
end

A continuación se muestra la tabla de definición de mcollections

create table mcollections (
  id                     int            not null auto_increment,
  obj_id                 varchar(255)   not null,
  category               varchar(255)   not null,
);

El :foreign_key no es un campo SOLA en mcollections mesa. clave externa tiene que ser una combinación de 2 campos (obj_id + category). ¿Cómo puedo especificar esto en clase User?

¿Fue útil?

Solución

No veo el sentido de utilizar las claves externas aquí. Una clave externa debe ser la clave primaria de otra tabla. Ni tampoco obj_id categoría podría ser utilizado como clave externa porque no son parte de la clave primaria.

Otros consejos

El canto le hace de otra manera?

No es la mejor práctica para utilizar las claves externas de varias columnas en los carriles ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top