Avec Ruby on Rails 3.1.2, j'ai fait ce qui suit.
#app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .
Pour les fichiers CSS, j'aime faire @import
pour avoir un meilleur contrôle sur l'ordre de chargement des fichiers CSS. Pour ce faire, je dois ajouter l'élément .scss
l'extension à la app/assets/stylesheets/application.css
et aussi à tous les fichiers CSS que je veux importer, comme le fichier CSS de jQuery UI.
#app/assets/stylesheets/application.css.scss
/*
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*/
@import "jquery-ui/ui-lightness/jquery-ui-1.8.16.custom.css.scss";
/* Other css files you want to import */
@import "layout.css.scss";
@import "home.css.scss";
@import "products.css.scss";
....
Ensuite, j'ai mis tout ce qui concerne l'interface utilisateur de JQuery dans vendor/assets comme ceci :
Feuille de style jQuery UI :
vendor/assets/stylesheets/jquery-ui/ui-lightness/jquery-ui-1.8.16.custom.css.scss
Dossier des images de jQuery UI :
vendor/assets/images/images
Notez que vous pouvez créer un dossier supplémentaire dans le chemin des feuilles de style comme je l'ai fait ici avec le chemin "jquery-ui/ui-lightness". De cette façon, vous pouvez garder plusieurs thèmes jQuery bien séparés dans leurs propres dossiers.
** Redémarrez votre serveur pour charger les chemins de chargement nouvellement créés. **
Ryan Bates propose d'excellents screencasts sur le pipeline des actifs et Sass en Ruby on Rails 3.1, où il montre comment utiliser la fonction @import dans Sass. Regardez-le ici :
Edit : J'ai oublié de mentionner que cela fonctionne à la fois localement et sur Heroku sur le Pile de cèdres .