2

让我首先说这是关于 Rails 最糟糕的部分。来自 .NET 背景,像编写任何标准 HTML 页面一样编写 css 非常容易,但是,不,不是在 Rails 中,除非你做所有这些特别的废话,否则它会爆炸。

我的问题本质上是这样的:当我将 .erb 添加到 application.css 的末尾并像这样编写 background-image 属性时,为什么我只能通过资产管道加载我的图像:

background-image: url(<%= asset_path 'image.png' %>);

我不明白为什么这些不起作用(我尝试了 100 种不同的方法):

background-image: url('/assets/image.png');
background-image: url('assets/image.png');
background-image: image-url('image.png');
background-image: image-url('assets/image.png');
background-image: url(image.png);

仅供参考,这是我的生产环境,一切都是预编译的。通过这种方式链接,一切都在开发中:

 background-image url('/assets/image.png');

但是当我切换到生产和预编译时,任何图像或字体文件都必须转换为 ASSET_PATH 处理方法,否则图像不会显示......常见问题?

4

1 回答 1

0

您的文件中可能有这样的config/environments/production.rb内容:

config.serve_static_assets = false

这就是为什么它不会直接为他们服务。

顺便说一句:我已经完成了 .NET 和 Rails。很多这只是 Rails 和其他系统之间的差异。不过,我确实理解你的沮丧。

于 2013-09-09T15:30:38.133 回答