13

アセットパイプラインのRubyonRailsガイドには、次のように書かれています。

公開されているアセットはすべて、アプリケーションまたはWebサーバーによって静的ファイルとして提供されます。提供される前にいくつかの前処理を行う必要があるファイルには、アプリ/アセットを使用する必要があります。

http://guides.rubyonrails.org/asset_pipeline.html

私にとって、これは、画像がWebサーバーによって静的に提供され、前処理を必要としないため、画像をパブリックディレクトリに保持する必要があることを示しています。

画像を入れることに利点はありますassets/か?

4

2 に答える 2

10

アセットプリコンパイルは、画像ファイル名に一意のハッシュ値を追加します。これにより、サーバーのキャッシュまたは有効期限の設定に関係なく、ユーザーは最新バージョンを取得できます。これは、Webサイトのデザインで画像を変更する場合に便利です。

/assets/images変更される可能性が低い画像(ユーザーのアップロードなど)には使用しないでください。

于 2012-06-08T17:21:03.640 に答える
4

アセットパイプラインの多様性を損なうからです。

アセットパイプラインを介して画像が提供されている場合、アセットパイプラインを変更した場合(たとえば、ファイルをS3にアップロードする場合)、他のタスクを介して画像を同期する必要があります。

他にももっと深い理由があるかもしれませんが、それが私に一時停止を与えるものです。

編集:補足:assetsのおかげで本番環境で:/Assets/からのすべてをプリコンパイルしてパブリックから提供されます。

于 2012-06-08T16:48:17.097 に答える