rails active le déploiement de l’administrateur: impossible de trouver le fichier ‘jquery-ui’

en essayant de déployer avec capistrano, quand capistrano utilise un rake de commande

RAILS_ENV=production RAILS_GROUPS=assets assets:precomstack 

J’ai cette erreur

 couldn't find file 'jquery-ui' (in /home/umbrosus/.rvm/gems/ruby-1.9.3-p392@gancxadebebi/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/base.js:2) 

Avant cela fonctionnait bien, mais j’ai essayé de mettre à jour à 0.6 et puis j’ai commencé à avoir cette erreur. Je suis revenu à 0.5.1 et l’erreur est toujours là. Est-ce que je fais quelque chose de mal?

Merci

Le joyau “jquery-rails” a récemment supprimé l’interface utilisateur de jQuery.

https://github.com/rails/jquery-rails/commit/2fdcdb2633cbc6426d412c050200fc31d14b9a3b

Ils recommandent d’utiliser le joyau jquery-ui-rails.

Il y a une requête de tirage active (à la date de cette écriture) pour append cette gem en tant que dépendance. Cependant, les développeurs d’ActiveAdmin ont déclaré qu’ils le « verrouilleraient jusqu’à ce que nous abandonnions officiellement le support de Rails 3.0 ». La version à laquelle ils sont verrouillés est jquery-rails < 3.0.0 .

En attendant, modifiez simplement votre Gemfile:

gem "jquery-ui-rails" Non recommandé, voir le commentaire de @ Kevin ci-dessous

Ou vous pouvez rétrograder votre version de jquery-rails:

 gem "jquery-rails", "< 3.0.0" 

Ou vous pouvez tirer de leur twig principale Github. Ils ont appliqué un correctif temporaire.

 gem "activeadmin", github: "gregbell/active_admin" 

Eh bien, il n’est pas nécessaire de rétrograder jquery-rails vers la version 2.3.0 ou de spécifier une twig GitHub. Utilisez simplement jquery-ui-rails . Pour contourner les différences de nom de fichier:

Créez simplement app/assets/javascripts/jquery-ui.js

 //= require jquery.ui.all 

Créer app/assets/stylesheets/jquery-ui.css

 /* *= require jquery.ui.all */ 

Ceux-ci chargent les fichiers corrects pour satisfaire ActiveAdmin

Bien que la requête Pull ait été fusionnée dans AA, vous aurez toujours ce problème si vous travaillez avec la dernière version de AA. Je n’aime pas forcer JQuery-rails à la version 2.3.0, alors voici une solution alternative: Dans le fichier active_admin.js , remplacez

 //= require active_admin/base 

avec

 //= require jquery //= require jquery_ujs //= require jquery.ui.core //= require jquery.ui.widget //= require jquery.ui.datepicker //= require active_admin/application 

Bravo à Fred pour avoir fourni cette solution ici .

La rétrogradation de “jquery-rails” à “2.3.0” a également résolu ce problème.

Dans mon cas, le problème de jquery était dû à un bijou que j’utilisais. Je n’utilisais pas jquery directement, donc l’ajout de app / assets / js / jquery-ui.js à mon projet n’a pas aidé.

L’ajout de gem “jquery-rails”, “<3.0.0" à mon fichier gemfile, mais j'ai eu un problème avec turbolinks immédiatement après, ce qui est assez facile à corriger ...

Mon dernier fichier:

 # Temporary fix for jquery issue gem "jquery-rails", "< 3.0.0" gem 'turbolinks' 

... peasy facile

Je sais que cela est déjà résolu. Mais je veux donner une autre solution à cela qui a fonctionné pour moi.

J’utilise Rails 4.0.8 lorsque j’ai ce problème.

Je retire simplement le numéro de version explicite de la gem jquery-rails gem jquery-ui-rails.

Le mien ressemble à ceci essentiellement:

 # js gem 'jquery-ui-rails' gem 'jquery-rails' # rails admin gem 'rails_admin' 

Gemfile.lock trouvé la version correcte pour les trois gemmes automatiquement.