8

レールで作業していると、画像が表示されず、エラーが発生します。

Started GET "/assets/home.png" for 127.0.0.1 at 2012-06-19 12:23:24 +0530
Served asset /home.png - 404 Not Found (24ms)
ActionController::RoutingError (No route matches [GET] "/assets/home.png"):

コマンドを使用しました

rake assets:precompile

Production.rb

config.assets.compress = true
config.assets.compile = false

application.rb

config.assets.enabled = true
config.assets.version = '1.0'

助けてくれてありがとう!

4

2 に答える 2

8

/assets/home.png実際には、パスを使用して画像を参照することはできません。開発モードでは機能しますが、本番環境では、すべてのアセットのファイル名にフィンガープリントが含まれています(http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-iをお読みください) -care-questionmark

そのため、アセットパイプライン対応のアプリケーションでは、ヘルパーメソッドを使用してすべてのアセットを参照する必要があります。このドキュメントを読んで、Ruby、JS、Sassファイルで利用できるさまざまなヘルパーについて学びましょう:http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

于 2012-06-20T21:47:56.630 に答える
4

ファイルリクエストにフィンガープリントがないことは、開発中にこれを実行していることを示しています。また、これは古いバージョンのRailsからアップグレードされたアプリだと思います。

パイプラインが機能するには、すべての画像がフォルダ/assets/imagesにある必要があります。

また、開発モードではプリコンパイルする必要はありません。

public / Assetsフォルダーを削除し、フォルダーtmp / cache / Assetsを削除して、サーバーを再起動します。

この画像が正しい場所にある場合は、機能するはずです。

于 2012-06-19T19:12:33.590 に答える