web-dev-qa-db-ja.com

Rails 3.1およびjquery-uiアセット

これは別の質問で尋ねられましたが、3.1rc1ではどのソリューションも機能しないようです。

Rails 3.1-私はファイルを持っています:

./vendor/assets/stylesheets/jquery-ui-1.8.13.custom.css
./vendor/assets/javascripts/jquery-ui-1.8.13.custom.min.js

次に追加しました:

//= require jquery-ui to app/assets/javascripts/application.js
*= require jquery-ui to app/assets/stylesheets/application.css

Jquery-ui javascriptファイルは正常にロードされますが、cssファイルには次のように記述されています。

Sprockets::FileNotFound (couldn't find file 'jquery-ui'
     (in /home/xanview2/xancar/app/assets/stylesheets/application.css):6):

何か案は?

52
Roman Gaufman

作業セットアップの例:

    $ 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
            ...

最後に、次のコマンドを実行します。

    vendor/assets/images $ ln -s jquery_ui/ images

JQuery UIをお楽しみください

63
denysonique

これはRails 3.1のアセットパイプラインとjQuery UIについて読むのに最適な記事です。 JQuery-UI css and images、and Rails Assetパイプライン

11
eduludi

jquery-ui-Railsgem( announcement )を参照してください) jQuery UI JavaScript、スタイルシート、画像をアセットとしてパッケージ化します。

8
Jo Liss

このトピックは頻繁に登場しますが、今ではかなりの時間が経過したため、状況は異なる可能性があります。

Rails 3.1.2、シンボリックリンクなしで動作するものを見つけました。上記の手順に従ってください。ただし、jqueryのすぐ隣にテーマの画像を置きます。 images /フォルダーにある-ui-xxx.cssファイル。これにより、かなりの頭痛の種がなくなりました。

はい、これはベンダー/アセットのstylesheets /フォルダーに画像が存在することを意味しますが、動作し、すぐに実行できます。

6
dmonopoly

Rails-asset-jqueryui gemを使用してみましたか? jquery-uiと標準テーマ(現在v1.8.16)をベンダー化し、アセットパイプラインを介して利用可能にします。次の例では、Smoothnessテーマを呼び出しています。

Gemfile:

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

app/assets/javascripts/application.js:

...
//= require jqueryui
...

app/assets/stylesheets/application.css:

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

Jquery-ui-Rails gemを使用している場合:

application.css

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

application.js

//= require jquery.ui.all
5
mkirk

私は、これらのライブラリ資産をassets/javascriptsおよびassets/stylesheetsディレクトリから遠ざけることにより、多くの混乱を避けることができるように思えます。

Themerollerからカスタマイズされたjquery-ui zipファイルをダウンロードしたとします。これを試して:

  1. zipファイルを資産ディレクトリのサブディレクトリに展開します。

    vendor/assets/jquery-ui-1.8.23.custom
    
  2. application.rbに追加:

    config.assets.paths << Rails.root.join('vendor', 'assets', 'jquery-ui-1.8.23.custom').to_s
    
  3. 通常の場所にマニフェストファイルを追加します。

    vendor/assets/javascripts/jquery-ui.js:

    //= require_tree ../jquery-ui-1.8.23.custom
    

    vendor/assets/stylesheets/jquery-ui.css:

    *= require_tree ../jquery-ui.1.8.23.custom
    
  4. config/environments/production.rbに追加します(マニフェストファイル名を参照):

    config.assets.precompile += %w(jquery-ui.js jquery-ui.css)
    
  5. ビューで:

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

これを使用する場合:

https://github.com/carlhoerberg/sprockets-urlrewriter

シェバン全体をディレクトリにダンプし、cssファイルを必要とすることができると思います...スムーズに相対URLを書き換えます。

gemをインストールし、application.rbに設定行を追加するだけです

0
fringd