目前,我在轨道4上使用ruby。
在html部分,我正在尝试加载图片:
<img width="121" height="31" src="/assets/images/flatty/logo_lg.svg" />
图片文件:logo_lg.svg位于以下位置:app / assets / images / flatty /
我试过了:
<%= image_tag "/assets/images/flatty/logo_lg.png" %>
在production.rb文件中:config.serve_static_assets = true
。
此外,尝试过:rails assets:precompile
但系统仍无法找到图像文件。
答案 0 :(得分:4)
您有一个.svg
但是您正在尝试加载.png
。将您的代码更改为:
<%= image_tag "flatty/logo_lg.svg" %>
加载图片时,请勿使用完整目录。资产管道为您做到了这一点。只需将它们放在正确的位置,即images
目录,然后记下:
<%= image_tag "someimg.png" %>
此外,如果您想为图像添加样式,可以为其指定一个类或一个id(id会更适合徽标):
<%= image_tag "flatty/logo_lg.svg" , :id => 'someId' , :class => 'someClass' %>
然后将CSS放入您的应用程序css文件或您页面控制器生成的文件中:
.someClass {
width: 50px;
height: 50px;
}
#someId {
width: 50px;
height: 50px;
}
如果你想放置一个SVG,它们会有不同的反应。您必须删除SVG代码中给出的属性(您可以使用大多数文本编辑器打开.svg文件)。它的XML标记。
请阅读 answer 了解详情。