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

生产.rb

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

应用程序.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 -关心问号

这就是为什么在启用资产管道的应用程序中,您需要使用辅助方法引用所有资产。阅读此文档以了解 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 回答