Hola a todos,
vuelvo a pediros ayuda, esta vez relacionado con las clases STI. Por
todos los sitios donde he buscado no he encontrado una situación como la
que necesito.
Tengo una clase base ‘entidad’ de la que heredan ‘cliente’ y
‘potencial’.
class Entidad < ActiveRevrod::Base
…
end
class Cliente < Entidad
…
end
class Potencial < Entidad
…
end
Pues bien, con esto creo una tabla en la base de datos (entidades) que
guardará todos los atributos de cliente y potencial.
El problema me llega a la hora de realcionar los modelos. Tanto
‘cliente’ como ‘potencial’ tienen una relacion ‘has_and_belongs_to_many’
con una clase ‘interes’. Y luego la clase ‘cliente’ tiene una realción
has_many con una clase ‘direccion’
EstarÃa bien hacer la relación de los clientes y potenciales con
intereses en el modelo de entidad, o será una realción por cada una?
Me refiero a si serÃa esto:
class Entidad < ActiveRecord::Base
has_and_beklongs_to_many :intereses
end
o a si serÃa esto:
class Cliente < Entidad
has_and_beklongs_to_many :intereses
end
class Potencial < Entidad
has_and_beklongs_to_many :intereses
end
Y para el caso de la relación entre el cliente y la dirección, seria
asi?
class Cliente < Entidad
has_many :direcciones
end
P<ra el caso contrario, seria asi?
class Direccion < ActiveRecord::Base
belongs_to :cliente
end
o asi?
class Direccion < ActiveRecord::Base
belongs_to :entidad
end
Y en la tabla de dirección que deberÃa crear, un campo ‘entidad_id’ o un
campo ‘cliente_id’?
Es la primera vez que trabajo con esto y me está liando en esto de las
relaciones.
Gracias por la ayuda