2011-05-04 22 views

Respuesta

41

Las rutas para los activos carpetas todos de los motores se cargan automáticamente.

Los activos en sí mismos no se cargan por defecto. Esto es comprensible ya que la carga se realiza con require_tree ., que carga todos los css/js de la carpeta actual (es decir, la carpeta de los activos principales de la aplicación) pero no dice nada sobre los activos del motor.

La solución fácil es solicitar al usuario que solicite el js/css en application.js/css o en cualquier otro lugar que se necesite. Como las rutas se cargan correctamente, el usuario solo necesita especificar el nombre de su activo (recomendaría usar el nombre de su motor). Ejemplo:

adjunta al main_app/app/assets/javascripts/application.js:

//= require your_engine_name 

Si ha dividido sus js en diferentes archivos, el archivo your_engine_name/app/assets/javascripts/your_engine_name.js podría tener lo siguiente:

//= require_tree . 

Esto cargará toda js archivos en your_engine_name/app/assets/javascripts/ , como el "." se refiere a la carpeta local (en este caso, la carpeta de los JavaScript de su motor).

Tenga en cuenta que ActionView::Helpers::AssetTagHelper.register_javascript_expansion parece no tener ningún efecto cuando se configura config.use_sprockets. Espero que al menos pongan una advertencia en ese caso.

Si tiene una tarea de rake para instalar su motor, puede hacer el apéndice a application.js.

Otra forma de que el usuario lo incluya es insertar <%= javascript_include_tag "your_engine_name" %> en el diseño erb.

no creo que hay una manera para que se inserta automáticamente

+1

El material piñones Actualmente se está pasando un poco de trabajo, pero el resto de lo que ha dicho es el clavo. Bien hecho. –

+0

¿Qué hay de las imágenes? Intenté acceder a las imágenes del activo de una joya, pero falló ... ¿Están relacionados esos dos problemas? – mabounassif

+0

NVM Comenté demasiado rápido, los activos dentro de una gema ahora se cargan automáticamente en los rieles 3.1 – mabounassif

Cuestiones relacionadas