Cela a été posé dans une autre question, mais aucune des solutions ne semble fonctionner pour moi dans 3.1rc1.
J'essaie d'utiliser les nouveaux éléments d'actif dans Rails 3.1 - J'ai les fichiers:
./vendor/assets/stylesheets/jquery-ui-1.8.13.custom.css
./vendor/assets/javascripts/jquery-ui-1.8.13.custom.min.js
J'ai ensuite ajouté:
//= require jquery-ui to app/assets/javascripts/application.js
*= require jquery-ui to app/assets/stylesheets/application.css
Le fichier javery-ui javascript se charge très bien, mais le fichier css dit:
Sprockets::FileNotFound (couldn't find file 'jquery-ui'
(in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
Des idées?
Exemple d'une configuration de travail:
$ cat app/assets/javascripts/application.js
//= require jquery
//= require jquery-ui
$ cat app/assets/stylesheets/application.css
/*
*= require vendor
*
*/
$ cat vendor/assets/stylesheets/vendor.css
/*
*= require_tree ./jquery_ui
*
*/
vendor/assets/ $ tree
stylesheets
vendor.css
jquery_ui
jquery-ui-1.8.13.custom.css
...
images
jquery_ui
ui-bg_flat_0_aaaaaa_40x100.png
...
Enfin, exécutez cette commande:
vendor/assets/images $ ln -s jquery_ui/ images
Profitez de votre interface jQuery
Ceci est un excellent article à lire sur Rails 3.1 pipeline d'actifs et jQuery UI: JQuery-UI css et images, et Rails Asset Pipeline
Vous pourriez avoir plus de chance avec la gemme jquery-ui-Rails (voir annonce ), qui conditionne pour vous les scripts JavaScripts, les feuilles de style et les images jQuery UI.
Ce sujet revient souvent, et maintenant que beaucoup de temps s'est écoulé, les choses peuvent être différentes.
Dans Rails 3.1.2, j'ai trouvé quelque chose qui fonctionne sans liens symboliques. Suivez les étapes ci-dessus, mais placez les images du thème juste à côté de jquery-ui-xxx. fichier css dans un dossier images /. Cela m'a sauvé pas mal de maux de tête.
Oui, cela signifierait que les images résideraient dans une feuille de style/dossier dans le fournisseur/actifs, mais cela fonctionne et c'est rapide à faire.
Avez-vous essayé d'utiliser la gemme Rails-asset-jqueryui ? Il vend jquery-ui et les thèmes standard (actuellement v1.8.16) et les rend disponibles via le pipeline d'actifs. L'exemple suivant appelle le thème Lissage.
....
gem 'Rails-asset-jqueryui'
...
...
//= require jqueryui
...
...
= require smoothness
...
Si vous utilisez le joyau jquery-ui-Rails:
application.css
/*
*= require jquery.ui.all
*/
application.js
//= require jquery.ui.all
Il me semble que beaucoup de confusion peut être évitée en gardant ces actifs de bibliothèque hors des répertoires actifs/javascripts et actifs/feuilles de style, où sprockets et al ont quelques opinions sur ce qui devrait se produire.
Supposons que vous ayez téléchargé un fichier zip jquery-ui personnalisé à partir du menu déroulant. Essaye ça:
décompressez le fichier Zip dans un sous-répertoire d'un répertoire d'actifs, quelque chose comme
vendor/assets/jquery-ui-1.8.23.custom
dans application.rb, ajoutez:
config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
ajoutez des fichiers manifestes aux endroits habituels:
fournisseur/actifs/javascripts/jquery-ui.js:
//= require_tree ../jquery-ui-1.8.23.custom
fournisseur/actifs/feuilles de style/jquery-ui.css:
*= require_tree ../jquery-ui.1.8.23.custom
dans config/environnements/production.rb, ajoutez (en faisant référence aux noms de fichiers manifestes):
config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
en vues:
<%= stylesheet_link_tag 'jquery-ui' %>
<%= javascript_include_tag 'jquery-ui' %>
si vous utilisez ceci:
https://github.com/carlhoerberg/sprockets-urlrewriter
je crois que vous pouvez simplement vider le Shebang entier dans un répertoire et exiger le fichier css ... il réécrira en douceur les URL relatives.
il vous suffit d'installer la gemme et d'ajouter une ligne de configuration à application.rb