我有一个CSS位于公共/文件夹中的轨道。我想在css中找到app/assets/images /文件夹中的图像作为背景。下面的代码似乎不工作:如何在Rails中的公用文件夹中获取图像URL?
background: url("bg-noise.png");
这通常用于应用程序/资产/样式表/文件夹内的CSS。无法使其在公用文件夹内工作。
我有一个CSS位于公共/文件夹中的轨道。我想在css中找到app/assets/images /文件夹中的图像作为背景。下面的代码似乎不工作:如何在Rails中的公用文件夹中获取图像URL?
background: url("bg-noise.png");
这通常用于应用程序/资产/样式表/文件夹内的CSS。无法使其在公用文件夹内工作。
你有两种选择。如果可以重命名文件,并使用与SCSS资产管道,则样式重命名为.css.scss
,并与image-url
SCSS助手代替
background: url("bg-noise.png");
。
background: image-url("bg-noise.png");
它会自动解析路径。
另一种解决方案是将文件重命名为.css.erb
,您将能够在文件内使用ERB代码。
background-image: url(<%= asset_path 'bg-noise.png' %>)
最后的解决方案是硬编码路径。
background: url("/assets/bg-noise.png");
我鼓励您使用第一个选项。
您更好地使用此方法找到你的图像
background-image: url(<%= asset_path 'bg-noise.PNG' %>)
,如果你有一个图片文件夹使用:
background-image: url(<%= asset_path '/images/bg-noise.PNG' %>)
如果u检查该元素和花费的标签背景:网址();并寻找图像的背景图像:url('localhost:3000/assets/bg-noise.png');
所以为了避免这种情况,使用
{
background: url('../bg-noise.png');
}
background: url('/assets/bg-noise.png');
这项工作将公共/ mailer.css?我的意思是你可以把erb代码放在css里面吗? – 2013-04-10 09:58:20
看看这个文档。你应该自己修复http://guides.rubyonrails.org/asset_pipeline.html – 2013-04-10 10:05:37
你必须在新的rails应用中使用app/assets文件夹。铁轨不在公共/资产中搜索。 – 2013-04-10 10:11:06