2012-04-19 6 views
9

¿Cómo puedo agregar vendor/assets/javascripts/mymountableengine o vendor/assets/stylesheets/mymountableengine a las rutas de activos de mi motor montable? Deseo poder solicitar archivos de estas carpetas en el archivo application.js/application.css de mi motor montable con piñones.¿Añadir ruta de activos en el motor de montaje de rieles?

Rails 3.2.2

Gracias.

+0

yo sepa rutas de acceso a los bienes del motor están agregado por defecto. [Esta respuesta] proporciona un poco más de información sobre el tema. ¿Has intentado exigir los activos del motor en el manifiesto de tu aplicación? –

+0

Tu enlace está roto =). Tengo acceso a activos en la aplicación/activos, pero agregué el directorio del proveedor de forma manual y deseo incluirlo en las rutas. No agregué los activos del motor en el manifiesto de mi aplicación, solo los cargué con '' 'javascript_include_tag 'engine/application.js'''' - esto funciona muy bien y obtengo todos los activos en' '' app/assets' '', sin embargo, cuando intento solicitar archivos de '' 'vendor/assets''' en' '' engine/application.js''', aparece un error que indica que el archivo no existe. – Yeggeps

+0

Ah, lo siento, quise decir [esta respuesta] (http://stackoverflow.com/a/5877665/357743). –

Respuesta

8

¡Resulta que ya estaban cargados! Simplemente colóquelos en el directorio incorrecto: engine/vendor/assets/javascripts/engine - poniéndolos en engine/vendor/assets/javascripts los hizo necesarios. Para otros, simplemente comprobar Rails.application.config.assets.paths para ver qué rutas se cargan, creo que los motores utilizan la padres entorno de ruedas dentadas, por lo que añadir rutas sólo tiene que utilizar Rails.application.config.assets.paths << "path/here"

+0

Esto me estaba volviendo loco y ejecuta' rails console' then ' pone Rails.application.config.assets.paths.join "\ n" 'me ayudó a encontrar que la carpeta de proveedor predeterminada no se incluía para mí. ¡Gracias! – Jondlm

5

hago así:

module MyEngine 
    class Engine < ::Rails::Engine 

    config.assets.paths << File.expand_path("../../assets/stylesheets", __FILE__) 
    config.assets.paths << File.expand_path("../../assets/javascripts", __FILE__) 
    config.assets.precompile += %w(my_engine.css) 

    end 
end 
+0

Nota: asegúrese de usar << y no + = aquí. A partir de Rails 4.2 "+ =", al menos según mi experiencia, fallará silenciosamente y romperá tu aplicación sin tirar ningún error. – engineerDave

+0

Sí, deberíamos agregar elementos a la matriz, no reemplazarlos, con 'precompilar' está bien. –

Cuestiones relacionadas