升级到Rails 3.1后找不到图像资源

时间:2011-09-20 01:58:35

标签: ruby-on-rails-3.1

我已经将应用程序升级到Rails 3.1,除了图像标签没有找到图像外,一切都已正确设置并正常工作。我已将所有图像从公共/图像移动到app / assets / images。浏览器在http://localhost:3000/assets/foobar.png处请求图片,但它只是在Chrome中显示为已损坏的图片。在单独的标签中打开它说“没有路线匹配[GET]”/assets/foobar.png“。

我觉得我只是在某个地方错过了一些设置,但是我还没有弄清楚它到底是什么。有什么建议吗?

1 个答案:

答案 0 :(得分:15)

他们在Assets Pipeline Guide中没有提到的最重要的事情之一是删除路径的前导/图像/部分。例如:

<%= image_tag "/images/about/header.png" %>

必须改为:

<%= image_tag "about/header.png" %>

CSS文件也是如此。所以这个:

background-image: url("/images/alliance/header_background.png");

会改为:

background-image: image-url("alliance/header_background.png");

请注意,使用资产管道时从不包含前导斜杠。此外,如果您在CSS文件中使用上面的代码行,请确保将.scss添加到文件中(因此application.css将成为application.css.scss)。

希望这可以让你头疼!

相关问题