webentwicklung-frage-antwort-db.com.de

Rails 3.1 und jquery-ui Assets

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?

52
Roman Gaufman

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

63
denysonique

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

11
eduludi

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.

8
Jo Liss

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.

6
dmonopoly

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.

Gemfile:

....
gem 'Rails-asset-jqueryui'
...

app/assets/javascripts/application.js:

...
//= require jqueryui
...

app/assets/stylesheets/application.css:

...
= require smoothness
...
5
Doc Walker

Wenn Sie das Juwel jquery-ui-Rails verwenden:

application.css

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

application.js

//= require jquery.ui.all
5
mkirk

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:

  1. entpacke die Zip-Datei in ein Unterverzeichnis eines Assets-Verzeichnisses

    vendor/assets/jquery-ui-1.8.23.custom
    
  2. in application.rb hinzufügen:

    config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
    
  3. 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
    
  4. 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)
    
  5. in Ansichten:

    <%= stylesheet_link_tag 'jquery-ui' %>
    <%= javascript_include_tag 'jquery-ui' %>
    
2
KenB

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

0
fringd