Подтвердить что ты не робот

Как загрузить папку ресурсов поставщика в Rails 4?

У меня есть плагин со многими типами файлов и его собственная древовидная структура (html, css, js, документация, изображения и т.д.)

Вместо того, чтобы проходить через папку плагина и разбивать все файлы css и js в папки vendor/assets/js/ vendor/assets/css/, я хочу просто сохранить всю папку плагина как есть. Например,

vendor/assets/multipurpose_bookshelf_slider/

Как я уверен, что пути загружаются правильно и ссылаются на них в файлах манифеста?

В настоящее время у меня есть некоторые файлы, размещенные следующим образом (не исчерпывающие)

/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/

Я ссылаюсь на них в

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";
4b9b3361

Ответ 1

Любая папка, созданная непосредственно под assets, будет добавлена ​​в пути загрузки. Файлы в этой папке можно ссылаться как обычно:

Если у вас

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

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

то vendor/assets/custom/ будет добавлен в пути загрузки.

Включите файлы в следующие файлы, выполнив следующие действия:

application.js

//= require js/file

application.css.scss

@import "css/file";

После этого обязательно перезапустите локальный сервер, так как при запуске вашего сервера будут распознаны пути загрузки.

Примечание. Чтобы просмотреть список путей загрузки, введите свой терминал rails c, затем введите Rails.application.config.assets.paths.

Ответ 2

Если запущенное приложение активировано, оно должно найти ваши активы после расширения пути в вашем приложении .rb

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

Ответ 3

Я предпочитаю ответ D7na, но с некоторым улучшением, по-моему.

Пока это связано с активами, я думаю, что лучше разместить его в файле assets.rb.

assets.rb:

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