Dies wurde in einer anderen Frage gestellt, aber in 3.1rc1 scheint keine der Lösungen für mich zu funktionieren.
Ich versuche das neue Assets-Zeug in Rails 3.1 - Ich habe die Dateien:
./vendor/assets/stylesheets/jquery-ui-1.8.13.custom.css
./vendor/assets/javascripts/jquery-ui-1.8.13.custom.min.js
Ich fügte dann hinzu:
//= require jquery-ui to app/assets/javascripts/application.js
*= require jquery-ui to app/assets/stylesheets/application.css
Die JavaScript-Datei jquery-ui wird einwandfrei geladen, die CSS-Datei jedoch wie folgt:
Sprockets::FileNotFound (couldn't find file 'jquery-ui'
(in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):
Irgendwelche Ideen?
Beispiel eines Arbeitsaufbaus:
$ 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
...
Führen Sie zum Schluss diesen Befehl aus:
vendor/assets/images $ ln -s jquery_ui/ images
Viel Spaß mit Ihrer jQuery-Benutzeroberfläche
Dies ist ein großartiger Artikel über die Asset-Pipeline und die jQuery-Benutzeroberfläche von Rails 3.1: JQuery-UI CSS und Images sowie Rails Asset Pipeline
Vielleicht haben Sie mehr Glück mit dem Edelstein jquery-ui-Rails (siehe Ankündigung ), die JavaScripts, Stylesheets und Images der jQuery-Benutzeroberfläche als Assets für Sie verpackt.
Dieses Thema taucht häufig auf, und nachdem eine beträchtliche Zeitspanne verstrichen ist, können die Dinge anders aussehen.
In Rails 3.1.2 habe ich etwas gefunden, das ohne symbolische Verknüpfungen funktioniert. Befolgen Sie die obigen Schritte, aber platzieren Sie die Bilder für das Thema direkt neben jquery-ui-xxx. CSS-Datei in einem Bild/Ordner. Dies ersparte mir einige Kopfschmerzen.
Ja, dies würde bedeuten, dass sich die Bilder in einem Stylesheets/Ordner unter Hersteller/Assets befinden würden, aber es funktioniert und es ist schnell erledigt.
Haben Sie versucht, das Juwel Rails-asset-jqueryui zu verwenden? Es vertreibt jquery-ui und die Standardthemen (derzeit v1.8.16) und stellt sie über die Asset-Pipeline zur Verfügung. Im folgenden Beispiel wird das Thema "Glätte" aufgerufen.
....
gem 'Rails-asset-jqueryui'
...
...
//= require jqueryui
...
...
= require smoothness
...
Wenn Sie das Juwel jquery-ui-Rails verwenden:
application.css
/*
*= require jquery.ui.all
*/
application.js
//= require jquery.ui.all
Es scheint mir, dass eine Menge Verwirrung vermieden werden kann, wenn diese Bibliotheksbestände nicht in Beständen/Javascripts und Beständen/Stylesheets-Verzeichnissen gespeichert werden, in denen Sprockets et al. Einige Meinungen darüber haben, was passieren sollte.
Angenommen, Sie haben eine angepasste jquery-ui-zip-Datei vom Themeroller heruntergeladen. Versuche dies:
entpacke die Zip-Datei in ein Unterverzeichnis eines Assets-Verzeichnisses
vendor/assets/jquery-ui-1.8.23.custom
in application.rb hinzufügen:
config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
fügen Sie an den üblichen Stellen Manifest-Dateien hinzu:
anbieter/Assets/Javascripts/jquery-ui.js:
//= require_tree ../jquery-ui-1.8.23.custom
anbieter/Assets/Stylesheets/jquery-ui.css:
*= require_tree ../jquery-ui.1.8.23.custom
fügen Sie in config/surroundings/production.rb Folgendes hinzu (unter Bezugnahme auf die Dateinamen des Manifests):
config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
in Ansichten:
<%= stylesheet_link_tag 'jquery-ui' %>
<%= javascript_include_tag 'jquery-ui' %>
wenn du das verwendest:
https://github.com/carlhoerberg/sprockets-urlrewriter
ich glaube, Sie können einfach den gesamten Shebang in einem Verzeichnis ablegen und die CSS-Datei benötigen ... es wird die relativen URLs reibungslos umschreiben.
sie müssen nur den Edelstein installieren und eine Konfigurationszeile zu application.rb hinzufügen