Los carriles del motor: Extender modelo con clase de la aplicación
-
25-09-2019 - |
Pregunta
Tengo un motor de proveedores / plugins. Mi problema es, que al parecer no puedo extender el modelo de motor con un modelo en la aplicación base.
Mi estructura de carpetas:
APPNAME
-app
-models
-item.rb
-vendor
-plugins
-image_gallery
-app
-models
-image_gallery.rb
No hay nada especial ... en mi image_gallery.rb yo acabamos de esto:
class ImageGallery < Item
end
Rieles Pero se queja de que faltan métodos que se definen en item.rb. Si los defino en el image_gallery.rb, funciona.
Solución
Se puede tratar de establecer config.cache_classes = true
en su development.rb
Otros consejos
Creo que este es un problema de orden de carga. El directorio de proveedores no quede recargado en el modo de desarrollo. El modelo en su aplicación no ha sido cargado al modelo del motor intenta heredar de él.
En este momento no sé una solución para este y nunca han encontrado una. Creo que los carriles 3 se dirigirán a esto. Normalmente sólo seguimos los modelos relacionados en el mismo motor o mover el material motor hacia arriba en la aplicación principal para evitarlo. Esto es una mierda y me gustaría saber la solución adecuada.
Trate en el modo de producción y que no debería tener el problema. Se podría buscar en el uso de escopeta si este es el caso.