3

私は、warbler を使用して war ファイルとしてデプロイされる RoR アプリケーションでいくつかの作業を行っています。私が関与する前は、アプリ内のいくつかの画像はアセット パイプラインにありましたが、私の役割は、滑りやすいマップと自家製のマップ タイルを導入することです。

タイルは多くのスペースを占有し、アプリほど頻繁には変更されないため、public/images/tiles. アプリの残りの war ファイルが展開され、タイルが適切なディレクトリに untar されます。

これは開発モードでは問題なく動作しますが、warbler のデプロイではコンテキスト パスが使用され、タイルは /images ではなく /contextpath/images にあるため、404ed になります。

私は以前に jruby 環境で働いたことがなく、チームの残りのメンバーはたまたま今週休暇に出ていました (ha!)。config.action_controller.asset_hostWarblerでの使用に関する Nick Sieger の推奨事項: Where are my images wrecks the images and css that do work do assets via assets. そのため、アセットとパブリックが共存できるようにする他の提案に感謝します。

4

1 に答える 1

4

Production.rbで、この行を試してconfig.assets.precompile += %w( *.js *.scss *.coffee *.css )から実行しjruby -S rake assets:precompileます。すべてのアセットを静的アセットにコンパイルし、warblerがそれに応じてパッケージ化するので、問題が解決するはずです。

チェックできるもう1つのことは、ビュー内の画像をどのように指しているかです。それらをで見つけたい場合/imageは、パスをとして記述する必要があります<%= image_tag "\image" %>。末尾について\

于 2013-01-24T12:03:37.107 に答える