Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从Rails 5获取公共资产映像链接_Ruby On Rails_Ruby_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 从Rails 5获取公共资产映像链接

Ruby on rails 从Rails 5获取公共资产映像链接,ruby-on-rails,ruby,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 5,我正在尝试为Google产品提要生成一个xml文件。在xml文件中,我希望显示指向产品图像的链接。代码 image_tag("image.png") 在我的视图中可以很好地在浏览器中显示图像。但是,我需要获得到资产的链接。跑步后 rake assets:precompile rails 5在my public文件夹中生成assets文件夹,并使用哈希重命名图像。因此,转到mydomain.com/assets/image.png不起作用,但是转到mydomain.com/assets/im

我正在尝试为Google产品提要生成一个xml文件。在xml文件中,我希望显示指向产品图像的链接。代码

image_tag("image.png") 
在我的视图中可以很好地在浏览器中显示图像。但是,我需要获得到资产的链接。跑步后

rake assets:precompile
rails 5在my public文件夹中生成assets文件夹,并使用哈希重命名图像。因此,转到mydomain.com/assets/image.png不起作用,但是转到mydomain.com/assets/imagewithhash.png起作用

我试过使用

image_path("image.png") 
获取哈希图像名称,但这不起作用。这是回报

/assets/image.png
而不是

/assets/imagewithhash.png
这正是我需要的。有人能帮忙解决这个问题吗

提前谢谢

您可以使用
asset\u url('my\u image.png',type::image)
image\u url('my\u image.png')
获取资产的哈希url

如果它没有在资源之后提供哈希,那么Rails没有找到该资源。您的字符串中有输入错误,或者资产不存在。
image\u url('my\u iamge.png')
将链接到
localhost:3000/assets/my\u iamge.png

因此,如果您仍然无法获得预期的已编译资产,请仔细检查它们。

不确定您在这里要做什么。您正在尝试生成url以下载图像吗?如果不需要绝对链接,您可以使用helper
image\u url
image\u path
获取图像链接。然后,您可以允许用户使用helper
link_to
单击图像,第一个元素是
图像标签
,第二个元素是
图像url