Rails image_tag完整路径

时间:2016-03-28 09:43:28

标签: ruby-on-rails image

我的资源文件夹中有图像及其路径

"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")但它给了我空图像

是否有可能如何解决?

3 个答案:

答案 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"}" %>