問題タブ [asset-pipeline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6435 参照

ruby-on-rails-3 - 醜い人がレールで機能しない

app/assets/javascripts に JavaScript ファイルがあります。JavaScript ファイルが圧縮されません。この URL http://dev.mensfeld.pl/category/rails3/に従って、圧縮を試してください。

指示をありがとう。

0 投票する
4 に答える
9445 参照

ruby-on-rails - コンパイル済みの Rails 3.1 アセットを Amazon S3 にアップロードするための Capistrano の実用的なレシピ

ユーザーが Amazon S3 に写真をアップロードできるようにする Rails 3.1 アプリがあります。cap deploy本番環境で S3 を使用しているため、プリコンパイル済みのアセット (application.js & application.css & images) を S3 バケットに自動的に (on で) アップロードし、そこで提供したいと考えています。十分に単純です。

設定を超えてconfig.action_controller.asset_host = "http://assets.example.com"

要するに、Capistrano がそうするための実用的な「レシピ」の例を探していますが、最新の (3.1 アセット パイプラインと互換性のある) ものを見つけることができないようです。アセットを正常にプリコンパイルしていますが、それらを S3 に移動するにはどうすればよいですか? そして、理想的には、変更されたものだけですか?

現在の「レシピ」の「肉」:

0 投票する
2 に答える
3501 参照

ruby-on-rails - Rails 3.1 Asset Pipeline-Herokuで画像アセットのフィンガープリントをオフにしますか?

アプリケーションで使用しているjQueryプラグインには画像への直接参照があるため、アセットのフィンガープリントをオフにしようとしています。

そのため、production.rbを設定config.assets.digest = falseしましたが、現在、画像参照はまったく機能していません。/assets/foo.png空白の応答を返すだけです。

jQueryプラグインのコードを変更したり、erbイメージヘルパーを追加したりしたくはありませんが、他に何をすべきかわかりません。そして率直に言って、画像のアセットフィンガープリントは、その価値よりもはるかに厄介なようです。

誰かが何か洞察を持っていますか?

ありがとう!

0 投票する
2 に答える
16614 参照

javascript - Rails 3.1アセットパイプラインを使用したJavaScriptコードの画像のURL?

CSS ファイルでは、次を使用して画像アセットの適切な名前を (フィンガープリントで) 取得できます。

しかし、JavaScript ファイルからどのように同じことを行うのでしょうか?

0 投票する
2 に答える
1067 参照

ruby-on-rails - Rails 3.1: ファイルのアップロードをアセット パイプラインに追加する必要がありますか?

ユーザーが写真をアップロードできるRails 3.1アプリケーションがあります。これらの写真をアセットとして (アプリ/アセット内に) 保存する必要があるため、Sprocket のオーバーヘッド (キャッシュ、フィンガープリンティングなど) の影響を受ける必要がありますか? または、それらを public/images に保持し、アセット パイプラインの外に保存する必要がありますか?

0 投票する
6 に答える
8652 参照

ruby-on-rails - Rails 3.1 のコントローラーからコンパイルされたアセットを参照するにはどうすればよいですか?

コントローラーで PDFkit を使用して一連の PDF を作成し、圧縮してユーザーに送信しています。

出力スタイルを制御するために、コンテンツ生成時に使用するスタイルシートを PDFKit に指示します。CSS ファイルのファイル参照を渡す必要があります。Rails がスタイルシートをコンパイルして名前を変更しているため、コントローラー内でコンパイルされた CSS アセットを参照する方法がわかりません。

これが私がやっていたことです:

Sass::Plugin.options[:css_location] が間違った場所を返すようになりました。また、application.css がファイルの有効な名前ではなくなったことは言うまでもありません。SCSS ファイルのマニフェストとして機能する app/assets/application.css ファイルがあり、stylesheet_link_tag() メソッドを介してビューで正しく機能していることに言及する必要があります。

基本的に私が探しているのは、次のようなことを行うために、asset_path() に相当するコントローラーです。

誰でも助けることができますか?

0 投票する
1 に答える
1074 参照

ruby-on-rails - Rails 3.1アセットは本番環境でフィンガープリントされていますが、レンダリングされたHTMLはそうではありません

開発ではすべてがうまく機能します。アプリは Capistrano で通常どおりデプロイされます。アセット (javascript と css) は完全に事前にコンパイルされているように見え、それぞれに画像と共に「フィンガープリント」が与えられます。問題はimage_tag("image-name.png")、本番環境で作成する html を私のビューで使用すると、「指紋」が含まれないことです。

本番環境でレンダリングされた HTML:

代わりに、私が期待するものは次のようになります。

では、Rails 3.1 の無数の構成オプションの中で、私たちが失敗したのはどれでしょうか?

編集

問題のある画像は、当社が使用するサードパーティのColorbox画像表示ツールに含まれているようです。Rails 3.1 はアセット (border.png など) のフィンガープリントを作成していますが、明らかに、この JavaScript ライブラリのソース コードはimage_tag. そのため、本番環境では、まだ という名前の画像を探しています/assets/colorbox/border.png。現在、画像は /vendor/assets/images にあり、開発では問題なく動作します。これらの画像だけが「フィンガープリント」されるのを防ぐ方法はありますか?

0 投票する
3 に答える
430 参照

ruby-on-rails-3.1 - rails 3.1 メンテナンスページのアセット

アセット パイプラインを有効にして、Rails 3.1 のメンテナンス ページでアセットにアクセスするにはどうすればよいですか?

アセット パイプラインを有効にすると、すべてのアセットのファイル名にハッシュが含まれます。ただし、メンテナンス ページは一般的な HTML であり、rails/passenger は apache 構成によってバイパスされているため、正しいアセット パスを生成する方法がありません。

application.css と画像ファイルが必要です。それらが古いものであれば問題ありません。

私はいくつかのクラッジを考えることができますが、それらはすべて不自由です:

  • デプロイごとに、必要なアセットを、メンテナンス ファイルで使用する一般的な名前にシンボリック リンクします。
  • メンテナンス ページを動的にして生成し、マークアップをどこかにダンプしてから、メンテナンスの「デプロイ」スクリプトを変更します。
0 投票する
1 に答える
1269 参照

ruby-on-rails - 間違った画像を参照するRails 3.1アセットパイプライン

私のapplication.css.scss中で私はこのような画像を参照しています:

それはにありapp/assets/images/background.png、devで完全に正常に動作します。

Heroku にデプロイするので、アセットをプリコンパイルする必要があります。コンパイルしたファイルを実行すると、background.png に次のファイル名がrake assets:precompile表示されます(驚くことではありませんが、これが指紋であることはわかっています)。public/assets/background-876262e736e0b48500313d1a48005396.png

私を困惑させているのは、コンパイルされたものapplication-7665539658a117373a79cd8568f36315.cssがロードしようとする/assets/background-61d37b9fc285589fc0016694e6f8d134.pngことです。これは明らかに間違ったフィンガープリントです。

そのため、すべてのファイルを削除してpublic/assets/再度コンパイルし、新しいファイルを git に追加し (古いファイルを削除し)、コミットして Heroku にプッシュしましたが、うまくいきませんでした。CSS はまだ間違った を使用していbackground-xyz.pngます。

これを解決する方法を知っている人はいますか?

0 投票する
2 に答える
816 参照

ruby-on-rails-3 - Rails 3 - アセット パイプ - アセットのキャッシュ

DEVELOPMENT でページの読み込み時間が非常に遅いです。

RailsがCSS / JSファイルを1つだけ生成するようにすることはすでに行わconfig.assets.digest = trueれています。config.assets.debug = false

問題は、すべてのアセットがキャッシングを NO に設定して送信されることです。そのため、ブラウザーはすべてのアセット (images/css/js) に対して待機し続けます。

Rails3.1 を設定して、ブラウザがすべてのアセットをキャッシュできるようにする方法はありますか?