0

我有一个漂亮的 vanilla rails 应用程序,我的所有图像都在 app/assets/images 中,我的样式表在 app/assets/stylesheets 中。在我的风格中,我有:

body
  background: url(/assets/bg.png)
  //background: image-path('bg.png')--well, same thing also doesn't work

这个图像没有出现,虽然如果我=image_tag 'bg.png'在视图中,它工作得很好(但最后没有生成的时间戳(不是bg.png?<buncha#s>)。

如果我去localhost:3000/assets/bg.png,它就在那里,就像我所有的图像一样——除了一个被调用diag_bg.png的,在这种情况下我得到一个Errno::ENOTDIR Not a directory - project/app/assets/images/diag_bg非常奇怪的图像。好吧,无论图像是否存在,即使我可以通过这种方式访问​​它,我也无法将其用作 css 背景。firebug 还显示根本没有对 css 图像的 GET 请求。

-btw,除非我手动 rake 预编译资产(我从未在 dev 中将预编译设置为 false),否则这些图像都不在 public/images 中。但似乎这些图像甚至没有被使用......(对它们有点困惑)

我也收到这些消息。我不确定它是否正常(到目前为止,logo_small.png 是单个 =image_tag):

Started GET "/assets/main.css?body=1" for 127.0.0.1 at 2012-04-22 14:31:33 -0700
Served asset /main.css - 304 Not Modified (0ms)
[2012-04-22 14:31:33] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true    

Started GET "/assets/logo_small.png" for 127.0.0.1 at 2012-04-22 14:31:33 -0700
Served asset /logo_small.png - 304 Not Modified (0ms)
[2012-04-22 14:31:33] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

任何帮助将不胜感激......我对资产感到非常沮丧。

4

1 回答 1

2

你需要使用:

background: image-url("bg.png")

helper就是你要的那个image-url,需要引用路径,不需要放在/assets前面。仅当您的图像位于子文件夹中时才包含文件夹,例如:

app/assets/images/icons/favorite.png

...将被称为:

background: image-url("icons/favorite.png")

有关更多信息,请参阅https://github.com/rails/sass-rails

于 2012-04-22T22:35:30.600 回答