7

Pluploadプラグインは良い例です。vendorディレクトリに追加されたプラグインのリストは次のとおりです。

./plupload/jquery.plupload.queue
./plupload/jquery.plupload.queue/css
./plupload/jquery.plupload.queue/css/jquery.plupload.queue.css
./plupload/jquery.plupload.queue/img
./plupload/jquery.plupload.queue/img/backgrounds.gif
./plupload/jquery.plupload.queue/img/buttons-disabled.png
./plupload/jquery.plupload.queue/img/buttons.png
./plupload/jquery.plupload.queue/img/delete.gif
./plupload/jquery.plupload.queue/img/done.gif
./plupload/jquery.plupload.queue/img/error.gif
./plupload/jquery.plupload.queue/img/throbber.gif
./plupload/jquery.plupload.queue/img/transp50.png
./plupload/jquery.plupload.queue/jquery.plupload.queue.js
./plupload/jquery.ui.plupload
./plupload/jquery.ui.plupload/css
./plupload/jquery.ui.plupload/css/jquery.ui.plupload.css
./plupload/jquery.ui.plupload/img
./plupload/jquery.ui.plupload/img/plupload-bw.png
./plupload/jquery.ui.plupload/img/plupload.png
./plupload/jquery.ui.plupload/jquery.ui.plupload.js
./plupload/plupload.browserplus.js
./plupload/plupload.flash.js
./plupload/plupload.flash.swf
./plupload/plupload.full.js
./plupload/plupload.gears.js
./plupload/plupload.html4.js
./plupload/plupload.html5.js
./plupload/plupload.js
./plupload/plupload.silverlight.js
./plupload/plupload.silverlight.xap

これらのファイルをさまざまなスタイルシート、JavaScript、および画像ディレクトリに再配置するのではなく、そのままにして、Sprocketsrequireディレクティブで参照することをお勧めします。これは、特に画像ファイルや.swfや.xapなどの他のアセットに関してどのように行われますか?

4

2 に答える 2

4

Sprocketsprovideディレクティブを使用できます。

たとえば、これは私が Plupload を使用している方法です。

# app/assets/javascripts/plupload.js
//= require plupload/plupload
//= require plupload/plupload.flash
//= require plupload/plupload.silverlight
//= provide plupload/dependencies

対応するベンダー ディレクトリは次のように構成されています。

vendor
├── assets
│   ├── javascripts
│   │   └── plupload
│   │       ├── dependencies
│   │       │   ├── plupload.flash.swf
│   │       │   └── plupload.silverlight.xap
│   │       ├── plupload.flash.js
│   │       ├── plupload.js
│   │       └── plupload.silverlight.js
│   └── stylesheets
└── plugins

次に<%= javascript_include_tag 'plupload' %>、Plupload を使用するときに使用し、asset_pathヘルパーを使用して Plupload 構成を設定します。

<%= javascript_include_tag 'plupload' %>

<script type="text/javascript">
$(function() {
    var uploader = new plupload.Uploader({
        runtimes : 'flash,silverlight',
        multipart : true,
        multipart_params : {
            'authenticity_token' : '<%= form_authenticity_token %>'
        },
        flash_swf_url : 
            '<%= asset_path "plupload/dependencies/plupload.flash.swf" %>',
        silverlight_xap_url :
            '<%= asset_path "plupload/dependencies/plupload.silverlight.xap" %>',
        url : '<%= url_for [@item, :photos] %>',
        // ...
    });

それが役立つことを願っています。

于 2011-07-28T11:54:00.940 に答える
2

私は間違っているかもしれませんが、Rails のドキュメントに記載されているように:

これは、アセットをパブリックに配置できる (または配置する必要がない) と言っているわけではありません。それらは引き続き静的ファイルとして提供され、アプリケーションまたは Web サーバーによって提供されます。ファイルを提供する前に何らかの前処理を行いたい場合にのみ、アプリ/アセットを使用します。 http://ryanbigg.com/guides/asset_pipeline.html

これらのファイルに対して前処理を行いたくないので、古き良きパブリック フォルダーが解決策になるでしょうか?

于 2011-08-09T04:04:35.980 に答える