Rails 4 image-url scss helper返回错误的图像路径

时间:2016-02-19 18:36:07

标签: ruby-on-rails-4

我在scss文件中输入了几个带背景图片的样式:

> grep -r image-url app
app/assets/stylesheets/controls/player.css.scss:  background-image: image-url('armchair.jpg');
app/assets/stylesheets/controls/cards.css.scss:  background-image: image-url('cards.gif');
app/assets/stylesheets/play_section.css.scss:  background: image-url('table-grey.png') no-repeat center;

它们分别呈现这样的css属性:

/assets/armchair.jpg
/images/cards.gif  <-- that one is wrong, it obviously returns 404
/assets/table-grey.png

有什么问题?我在整个项目中搜索了cards.gif并找到了唯一的一行:

> grep -r cards.gif app lib
app/assets/stylesheets/controls/cards.css.scss:  background-image: image-url('cards.gif');

1 个答案:

答案 0 :(得分:2)

Rails会将/assets/yourimage.ext与资产路径助手一起使用。如果在您的资源文件夹中找不到该图片,则会回退到使用/images/yourimage.ext

您的资产文件夹中是否有此图片?如果没有尝试添加,请在app/assets/images/cards.gif下查看是否有效。

还要确保使用tmp/cache

清除rake tmp:cache:clear文件夹