我的资源文件夹中有图像及其路径
"app/assets/images/sets/img_2168.jpg"
所以我想像
一样使用它 Dir.glob("app/assets/images/sets/*.jpg")
它会返回"app/assets/images/sets/img_2168.jpg"
image_tag("app/assets/images/sets/img_2168.jpg")
但它给了我空图像
是否有可能如何解决?
答案 0 :(得分:0)
请尝试以下操作:
<%= image_tag("sets/" + File.basename(Dir.glob("app/assets/images/sets/*").first))%>
如果您只是向"sets/img_2168.jpg"
提供image_tag
,它应该有效。
您无需提供完整路径。
答案 1 :(得分:0)
试试这个:
image_tag(File.read("#{Rails.root.to_s + '/assets/images/sets/img_2168.jpg'}").url)
OR
<img src="/assets/images/sets/img_2168.jpg"></img>
理想情况下,您应该从控制器传递图像对象,而在image_tag中只需获取其URL:
image_tag(@image_obj.url)
答案 2 :(得分:0)
我发现最简单的方法是执行以下操作:asset_url标签将放置资产的完整网址(在本例中为“ app-store.png”图像),然后它将正常传递给image_tag。
<%= image_tag "#{ asset_url "app-store.png"}" %>