Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Rails的公用文件夹中获取css中的图像url?_Css_Ruby On Rails - Fatal编程技术网

如何在Rails的公用文件夹中获取css中的图像url?

如何在Rails的公用文件夹中获取css中的图像url?,css,ruby-on-rails,Css,Ruby On Rails,我在rails的public/folder中有一个css。我想在css的背景中找到app/assets/images/文件夹中的图像。下面的代码似乎不起作用: background: url("bg-noise.png"); 这通常用于应用程序/资产/样式表/文件夹中的css。无法使其在公用文件夹中工作。您最好使用它来定位图像 background-image: url(<%= asset_path 'bg-noise.PNG' %>) 背景图像:url() 如果您有图像文件夹

我在rails的public/folder中有一个css。我想在css的背景中找到app/assets/images/文件夹中的图像。下面的代码似乎不起作用:

background: url("bg-noise.png");

这通常用于应用程序/资产/样式表/文件夹中的css。无法使其在公用文件夹中工作。

您最好使用它来定位图像

background-image: url(<%= asset_path 'bg-noise.PNG' %>)
背景图像:url()
如果您有图像文件夹,请使用:

background-image: url(<%= asset_path '/images/bg-noise.PNG' %>)
背景图像:url()

如果您检查该元素并扩展选项卡背景:url();并查找图像背景图像:url('localhost:3000/assets/bg noise.png')

因此,为了避免这种情况,请使用

{
background: url('../bg-noise.png');
}

你有两个选择。如果可以重命名文件并将资产管道与SCSS一起使用,则将样式重命名为
.css.SCSS
并替换

background: url("bg-noise.png");
使用
图像url
SCSS帮助程序

background: image-url("bg-noise.png");
它将自动解析路径

background: url("/assets/bg-noise.png");
另一个解决方案是将文件重命名为
.css.erb
,这样您就可以在文件中使用erb代码

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

我鼓励您使用第一个选项。

在public/mailer.css下可以吗?我的意思是你能把erb代码放在css中吗?看看这个文档。你应该自己修复,你必须在新的rails应用程序中使用app/assets文件夹。rails不在public/assets中搜索。除非将.erb扩展名附加到CSS文件中,否则这将无法工作。
background: url("/assets/bg-noise.png");