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.

¿Fue útil?

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.

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