ruby-on-rails - Active Storage 永久镜像 URL

标签 ruby-on-rails rails-activestorage

我正在为一个用 Ruby on Rails 构建的网站创建一个谷歌产品列表。该网站有多个拥有自己前端的商店,因此他们希望每个商店都有一个 Google Product Feed。

我遇到的问题是,如果我使用 url_for(image),那么我会获得该商店中图片的 URL。但主动存储的工作方式是在默认情况下持续 5 分钟的临时 URL 上。因此,链接在已处理的提要上不起作用。

图像托管在 S3 存储桶上,因此我可以获得 service_url。但是 Google 不喜欢将图像从单独的域发送到商店。有没有办法从商店域中获得永久干净的 url?

最佳答案

我认为你所追求的并不容易。 Active Storage 似乎不支持永久的、非过期的 URL:"Request has expired" when using S3 with Active Storage

根据您的设置,可能有一个有用且(主要是)无黑客的解决方法。就我而言,我在拥有要链接到的文件的记录上设置了自定义 show 操作:
redirect_to url_for(@record_name.file)
然后,像往常一样,在我的应用程序中使用路径助手记录 show 操作,只是通过过期的 url_for 呈现我想要的东西。

关于ruby-on-rails - Active Storage 永久镜像 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53869890/

相关文章:

ruby-on-rails - rails 中的验证在内部使用元编程?它实际上是如何工作的?

ruby-on-rails-5 - 通过 Rails 5 API 和 Active Storage 接受图像

ruby-on-rails - 如何遍历图像数组并使用 Active Storage 保存每个图像?

ruby-on-rails - 您将如何并行将文件写入 s3?即不一一序列化

ruby-on-rails - 您带指纹的 key (...) 无权访问 <yourapp>

ruby-on-rails - Rails 6.1 预加载 ActiveStorage::VariantRecord

ruby-on-rails - 使用 Active Storage Image 获取 MD5 哈希

ruby-on-rails - Rails 主动存储 : Direct upload from model

ruby-on-rails - Postgres 启用 TCP/IP 连接

ruby-on-rails - 在 ruby​​ on rails 中搜索(将搜索字符串更改为小写)