2011-02-16 17 views
17

son estándares de allí o mejores prácticas sin embargo, cuando se trata de la herencia de varias mesas en los carriles 3? Hasta el momento el mejor artículo que pude encontrar fue:Herencia de tablas múltiples con los carriles 3

http://mediumexposure.com/multiple-table-inheritance-active-record/

Pero incluso que necesitaba algunos cambios (por ejemplo, mover la obliga a un inicializador en lugar de la antigua /config/environment.rb)

Cualquier mejor recursos/estándares?

Respuesta

2

Hay un tipo en el grupo de Melbourne Rubí asisto que está escrito un par de blogs sobre la herencia de tablas en los carriles y los comentarios son muy útiles también. No es específicamente Rails 3, pero definitivamente hay algunos indicadores decentes allí.

http://rhnh.net/2010/08/15/class-table-inheritance-and-eager-loading

http://rhnh.net/2010/07/02/3-reasons-why-you-should-not-use-single-table-inheritance

feliz leyendo

+0

¡Impresionante, gracias! Sólo – jtesch

6

Hace poco una joya en horquilla prometedora para implementar la herencia múltiple mesa y la herencia de clases en Rails. Pasé unos días sometiéndolo a un rápido desarrollo, correcciones, comentarios y documentación, y lo relancé como CITIER (Inverencia de clase y Embeddings de herencia de tabla para raíles).

Considere dándole un aspecto: https://github.com/PeterHamilton/citier

que realmente tiene algunos conceptos de ese artículo que mencionas.

+0

básicos acerca de su ejemplo en su página, y cuando se llama 'd.save' para guardar su objeto Dictionary, todo apunta a que está llamando 3 actualizaciones, la primera de las cuales 2 son sobrescritos: 1.' citier -> ACTUALIZACIÓN productos set type = 'producto' donde id = 1' 2. 'citier -> SQL: tipo de productos de actualización del conjunto = 'libro' donde id = 1' 3.' citier -> SQL: tipo de productos de actualización del conjunto = 'Diccionario 'WHERE id = 1' ¿Es esto exacto? ¿O se ignoran los 2 primeros y solo se llama al último? –

14

Para una manera fácil de hacer la herencia de varias mesas echar un vistazo a plug-in 'acts_as_relation' https://github.com/hzamani/acts_as_relation.

+0

muy buena joya hasta el momento ... – keruilin

+0

También funciona con Rails 4. – gregoltsov

+0

API bella y legible, fácil de usar. Esto me habría ahorrado muchos MUCHO *** problemas hace varios años antes de que existiera una buena solución MTI para Rails. – iconoclast

Cuestiones relacionadas