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

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, и ошибка все еще там. Я делаю что-то плохое?

спасибо

4b9b3361

Ответ 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 автоматически вычислил правильную версию для всех трех драгоценных камней автоматически.