|
Hola paolo, podrias usar "Single table inheritance"
(http://www.martinfowler.com/eaaCatalog/singleTableInheritance.html),
la idea seria definir todos los atributos de todos los subtipos de
pescados que tuvieras en la misma tabla pescado, mas un atributo
llamado type que contendra el nombre de la clase del pescado, ejm: tabla pescados id nombre color . ... type 1 'delfin', 'gris', .... , 'Delfin' 2 'tiburon', ...... 'Tiburon' luego tendras un modelo para la clase abstracta y para las concretizaciones, Pescado, Delfin, Tiburon. Cuando en una instancia asignes el campo type, AR internamente intentara instanciar un objeto del tipo definido en ese campo, asi podras hacer cosas como Delfin.all o Tiburon.all. Hay otras formas de definir el modelo relacional, en lugar de poner todos los campos en una misma tabla podrias crear tablas para cada tipo y relacionarlas mediantes foreing keys, te dejo una breve descripcion: http://www.fortunecity.com/lavender/dale/1054/base/extendido.htm (apartado 6.1. Relaciones Superclase/Subclase y Especialización/ Generalización.) espero te sirva de ayuda. Saludos On 20/04/11 15:04, Paolo Loran wrote: Buenos dias, mi consulta esta dirijida a como maneja ActiveRecord a las clases Abstractas y el tema de Herencia, ya que no me queda muy claro su funcionamiento y uso. |
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
