требование ресурсов из драгоценных камней больше не работает в Rails 4.2

У меня есть приложение Rails 4.1(.10), которое я пытаюсь обновить до Rails 4.2(.1), но мне трудно это сделать.

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

В моем камне у меня есть следующий код

# /assets_gem/app/assets/javascript/my_js.js
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require turbolinks
//= require ../../../vendor/assets/javascripts/bootstrap/bootstrap-alert
//= require ../../../vendor/assets/javascripts/bootstrap/bootstrap-tooltip
//= require ../../../vendor/assets/javascripts/bootstrap/bootstrap-popover

и в assets_gem/vendor/assets/javascripts/bootstrap у меня есть 3 файла js.

В моем приложении Rails у меня есть следующий код

# idx/app/assets/javascripts/application.js
//= require my_js
//= require_tree ./application

Все отлично работает в Rails 4.1.10 и Sprockets 2.12.3, но когда я обновляюсь до Rails 4.2.1 и Sprockets 3.0.1, я получаю сообщение об ошибке ниже

Sprockets::FileNotFound at/не удалось найти файл '../../../vendor/assets/javascripts/bootstrap/bootstrap-alert' с типом 'application/javascript'

Должен ли я требовать свои активы поставщика по-другому в Sprockets 3+?

Спасибо


person Sig    schedule 22.04.2015    source источник


Ответы (2)


vendor/assets/javascripts уже включен в путь поиска по умолчанию, поэтому все, что вам нужно, это require bootstrap/bootstrap-alert и т. д.

person nanaya    schedule 22.04.2015

Вы также можете добавить путь в свой application.rb

config.assets ‹‹ Rails.root.join('поставщик','активы', 'мои_компоненты')

person Stephane Paul    schedule 19.06.2015