生产中没有带有 rails 的图像?

no image with rails in production?

我在app/assets/images/...

中有一些经典图片png

但在生产中,在

之后
rake assets:precompile

图片没有出现!如果我检查 CSS 来源,我可以看到

.logo {
    background-image: url("/assets/logos/logo.png");
  ... }

它与我的 css 文件中的代码相同。

但我在预编译资产期间观察:

 /var/www/demos/public/assets/logos/logo-741199bb95821c02bca7c68ca66ff5f5.png

那么为什么 rails 不自动修改 link 的名称并添加哈希值?

如果我使用直接路径打开一个新标签页:

http://domain.com/assets/logos/logo-741199bb95821c02bca7c68ca66ff5f5.png

有效...

所以我怎么没做这个自动 link?

您还需要设置asset path in css, or scss

尝试background-image: image-url("logos/logo.png"),或background-image: asset-url("logos/logo.png", image)

好的答案是:

在CSS.SCSS中使用:

asset-url('relative/path/image.png')

在视图中使用:

<%= image_path('relative/path/image.png') %>

image_tag方法生成带有自动良好路径的标签