ruby-on-rails plugins ruby-on-rails-plugins

ruby on rails - ¿Cómo cargar la carpeta de recursos del vendedor en Rails 4?



ruby-on-rails plugins (3)

Tengo un complemento con muchos tipos de archivos y su propia estructura de árbol (html, css, js, documentación, imágenes, etc.)

En lugar de ir a través de la carpeta del complemento y dividir todos los archivos css y js en el vendor/assets/js/ vendor/assets/css/ folders, solo quiero mantener toda la carpeta del plugin como está. Por ejemplo,

vendor/assets/multipurpose_bookshelf_slider/

¿Cómo me aseguro de que las rutas se carguen correctamente y las referencia en mis archivos de manifiesto?

Actualmente, tengo algunos archivos colocados de la siguiente manera (no exhaustivo)

/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css /my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js /my_app/vendor/assets/multipurpose_bookshelf_slider/ /my_app/vendor/assets/multipurpose_bookshelf_slider/

Me estoy refiriendo a ellos en

application.js

//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js //= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js

application.css.scss

@import "css/bookshelf_slider"; @import "css/skin01";


Cualquier carpeta creada directamente debajo de los assets se agregará a las rutas de carga. Los archivos en esa carpeta se pueden referenciar como de costumbre así:

Si usted tiene

  • vendor/assets/custom/js/file.js

  • vendor/assets/custom/css/file.css

luego vendor/assets/custom/ se agregará a las rutas de carga.

Incluya sus archivos en los siguientes archivos haciendo lo siguiente:

application.js

//= require js/file

application.css.scss

@import "css/file";

Una vez hecho esto, asegúrese de reiniciar su servidor local, ya que al iniciar su servidor se reconocen las rutas de carga.

Nota: para ver una lista de rutas de carga, escriba sus rails c terminales rails c , luego escriba Rails.application.config.assets.paths .


Prefiero la respuesta de D7na, pero con un poco de mejora en mi opinión.

Siempre que esto esté relacionado con los activos, creo que es mejor colocarlo en el archivo assets.rb .

assets.rb :

Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")


Si la aplicación que está ejecutando tiene activos-pipeline activados, debería encontrar sus activos después de expandir la ruta en su aplicación.rb

config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")