我已经将应用程序升级到Rails 3.1,除了图像标签没有找到图像外,一切都已正确设置并正常工作。我已将所有图像从公共/图像移动到app / assets / images。浏览器在http://localhost:3000/assets/foobar.png处请求图片,但它只是在Chrome中显示为已损坏的图片。在单独的标签中打开它说“没有路线匹配[GET]”/assets/foobar.png“。
我觉得我只是在某个地方错过了一些设置,但是我还没有弄清楚它到底是什么。有什么建议吗?
答案 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)。
希望这可以让你头疼!