Rails активное развертывание администратора: не удалось найти файл 'jquery-ui'
при попытке развертывания с помощью capistrano, когда команда capistrano использует команду
пакетный рейк
RAILS_ENV=production
RAILS_GROUPS=assets
assets:precompile
У меня есть эта ошибка
couldn't find file 'jquery-ui'
(in /home/umbrosus/.rvm/gems/[email protected]/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/base.js:2)
Прежде чем он работал хорошо, но я попытался обновить до 0,6, а затем начал эту ошибку. Я вернулся к 0.5.1, и ошибка все еще там. Я делаю что-то плохое?
спасибо
Ответы
Ответ 1
"jquery-rails" недавно удалил jQuery UI.
https://github.com/rails/jquery-rails/commit/2fdcdb2633cbc6426d412c050200fc31d14b9a3b
Они рекомендуют использовать жемчужину jquery-ui-rails.
Существует запрос активного запроса на перенос (начиная с этой записи), чтобы добавить этот драгоценный камень в зависимость. Однако разработчики ActiveAdmin заявили, что они "блокируют его, пока мы официально не откажемся от поддержки Rails 3.0". Версия, к которой они привязаны, составляет jquery-rails < 3.0.0
.
В то же время просто измените свой Gemfile:
gem "jquery-ui-rails" Не рекомендуется, см. комментарий @Kevin ниже
Или вы можете понизить версию jquery-rails:
gem "jquery-rails", "< 3.0.0"
Или вы можете вытащить из своей ветки мастера Github. Они применили временное исправление.
gem "activeadmin", github: "gregbell/active_admin"
Ответ 2
Ну, нет необходимости понижать jquery-rails
до 2.3.0
или указывать ветку GitHub. Просто используйте jquery-ui-rails
. Чтобы обойти различия в имени файла:
Просто создайте app/assets/javascripts/jquery-ui.js
//= require jquery.ui.all
Создать app/assets/stylesheets/jquery-ui.css
/*
*= require jquery.ui.all
*/
Они загружают правильные файлы для удовлетворения ActiveAdmin
Ответ 3
Хотя запрос Pull теперь был объединен с AA, у вас все еще будет эта проблема, если вы будете работать с последней версией AA. Мне не нравится форсировать JQuery-рельсы до версии 2.3.0, поэтому здесь альтернативное решение проблемы:
В файле active_admin.js
замените
//= require active_admin/base
с
//= require jquery
//= require jquery_ujs
//= require jquery.ui.core
//= require jquery.ui.widget
//= require jquery.ui.datepicker
//= require active_admin/application
kudos Fred для предоставления этого решения здесь.
Ответ 4
Снижение "jquery-rails" до "2.3.0" исправило эту проблему и для меня.
Ответ 5
В моем случае проблема jquery возникла из-за того, что я использовал gem. Я не использовал jquery напрямую, поэтому добавление app/assets/js/jquery-ui.js в мой проект не помогло.
Добавление gem "jquery-rails", "< 3.0.0" в мой gemfile исправил его, но я сразу же получил проблему с turbolinks, что достаточно легко исправить...
Мой последний файл gemfile:
# Temporary fix for jquery issue
gem "jquery-rails", "< 3.0.0"
gem 'turbolinks'
... легкий peasy
Ответ 6
Я знаю, что это уже разрешено. Но я хочу дать еще одно решение, которое сработало для меня.
Я запускаю Rails 4.0.8 при возникновении этой проблемы.
Я просто удаляю явный номер версии для gem jquery-ui-rails gem jquery-rails.
Моя выглядит по существу:
# js
gem 'jquery-ui-rails'
gem 'jquery-rails'
# rails admin
gem 'rails_admin'
Gemfile.lock
автоматически вычислил правильную версию для всех трех драгоценных камней автоматически.