Развертывание в конвейере активов героя Sprockets:: fileNotFound

Я пытаюсь развернуть свое приложение в Heroku. Heroku не загружал файлы js и css

Я побежал RAILS_ENV=production bundle exec rake assets:precompile и он все еще не работал.

тогда я побежал  heroku rake assets:precompile

Я получаю эту ошибку в журналах Heroku:

Error compiling asset application.css:
 Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker'
 (in /app/app/assets/stylesheets/application.css.scss:13)

Served asset /application-989f5e5266d9b066eb316183d7db5c77.css - 500 Internal Server Error


 Error compiling asset application.js:
 Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker'
 (in /app/app/assets/javascripts/application.js:16)
Served asset /application-d81c946c6f47242e5e97de9bca4938be.js - 500 Internal Server Error

config production.rb:

config.cache_classes = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_assets = true
  config.assets.compress = true
  config.assets.compile = true
  config.assets.initialize_on_precompile = false

  config.assets.digest = true

В АКТИВЕ application.css.scss

 *= require_self
 *= require bootstrap_and_overrides
 *= require jquery.ui.datepicker
 *= require bootstrap-timepicker
 *= require jquery.fileupload-ui
 *= require_tree .
*/

application.js

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require jquery.ui.datepicker
//= require bootstrap-timepicker
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/tmpl
//= require_tree .

Любая идея, как это исправить? заблаговременно за вашу помощь.

Ответ 1

Я считаю, что проблема связана с тем, что активы не были предварительно скомпилированы.

В вашем терминале, если вы запустите:

   $ >>> rake assets:precompile

И затем добавьте и зафиксируйте:

$ >>> git add .
$ >>> git commit -m 'Added precompiled assets for Heroku'

Предполагая, что ваш пульт называется "heroku":

$ >>> git push heroku master

Он должен развернуться правильно, без необходимости испортить ваше приложение.

Ответ 2

Путь отображается с ошибкой /app/app/assets/javascripts/application.js с /app дважды. Это может вызвать проблемы.

Ответ 3

попробуйте это и выполните шаги из источника

в application.js добавить jquery-ui

//= require jquery
//= require jquery-ui

а затем попробуйте

источник: https://github.com/joliss/jquery-ui-rails

Ответ 4

Если rake precompile активы не работают ни для кого, я работал с одним программистом и спросил его (он исправил его в нашем проекте, а не мне, я был в тупике.)

Он не носитель английского языка, но здесь идет:

"Я проанализировал, что причиной отказа в данный момент является нажатие на ошибку Heroku, когда прекомпиляция для файла jquery-ui-datepicker не найдена, вызвана изменениями в вызове js и css для запуска jQuery ui версии 4.0.12 с последними рельсами 5.0. 0, теперь я исправлен с помощью фиксированной версии в Gemfile и заменяет вызовы в js и css."

Ло и вот он работал после.

Ответ 5

  • Сначала очистите и прекомпилируйте активы

    $рейк-активы: чистый
    $ rake assets: precompile

  • Обновить репозиторий

    $git добавить -A
    $ git commit -m "message"

  • Нажмите на герою

    $git push heroku