从Rails获取公共资产图像链接5

时间:2017-09-20 20:13:28

标签: ruby-on-rails ruby ruby-on-rails-5

我正在尝试为Google Feed Feed生成xml文件。在xml文件中,我想显示产品图像的链接。代码

image_tag("image.png") 

在我看来可以在浏览器中显示图像。但是我需要获得资产的链接。运行后

rake assets:precompile

rails 5在我的公共文件夹中生成assets文件夹,并使用哈希重命名该图像。所以去mydomain.com/assets/image.png并不起作用但是去mydomain.com/assets/imagewithhash.png确实有效。

我尝试过使用

image_path("image.png") 

获取散列图像名称,但这不起作用。返回

/assets/image.png

而不是

/assets/imagewithhash.png

这就是我需要的。有人可以帮忙解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

你可以使用 asset_url('my_image.png', type: :image)image_url('my_image.png')获取资产的哈希网址。

如果它没有在资产之后给你哈希,那么Rails没有找到那个资产。您的字符串中有拼写错误或资产不存在。 image_url('my_iamge.png')会链接到localhost:3000/assets/my_iamge.png 如果您仍未获得预期的编译资产,请仔细检查。