2011-08-31 9 views
9

をプリコンパイルされたファイルを使用していません:のRails 3.1.xへ - IMAGE_TAGは、私が入れた生産モードでは、私の見解で

app/assets/images/coin.png 

しかし、本番モードで:

<%= image_tag("coin.png") %> 

私の元画像が上に置かれていますIMAGE_TAGによって生成されたHTMLコードは次のとおりです。

<img alt="Coin" src="/assets/coin.png"> 

代わりにコンパイル済みの資産を打つ:

coin-aba0e66819d64251cb3bb4bb29b26eb2.png 

(当然私はイメージを見ることができません)。

私の資産をプリコンパイルするのを忘れていませんでした。

と私の環境/ production.rbは次のとおりです。

config.cache_classes = true                                             
    config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true                                        
    config.serve_static_assets = false                                                    
    config.assets.compress = true                                                 
    config.assets.js_compressor = :uglifier 
    config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" 

おかげで、あなたにたくさんの

答えて

11

私はそれを見つけました!!!!!!!

は、あなたのproduction.rbに入れる:

config.assets.digest = true 
+3

あなたは揺れます。私はこれが新しいオプションなしで動作していた場所にrc.5をインストールしました。 – nasmorn

+0

ありがとう。さらに、同じ問題をsassファイルで修正するには、 "<%= asset_path( 'foo.png')%>"を "image-url( 'foo.png')"に置き換えなければなりませんでした。 – Thilo

+0

ありがとうございます。このアプリは2.xから4.xにアップグレードされました。古い非ハッシュアセット 'header.jpg'をロードしていて、' header-asdlfk12l3k4.jpg'を無視していました。このオプションは欠けていたものでした。 – kimos

0

もう期限切れ?hashキャッシュを使用することはありませんthis railscastsのRails 3.1の最新の部分で述べたように。ファイル名自体にアセットのハッシュを使用します。画像が同じであるかどうかはわかりませんが(まだ3.1で遊んでいない)、それはあなたの問題かもしれません。

+0

をはいまさに私が間違っていたが、それと同じ問題。とにかくありがとう – Unitech

関連する問題