Ruby on rails ActiveStorage-检索文件URL

Ruby on rails ActiveStorage-检索文件URL,ruby-on-rails,ruby,rails-activestorage,ruby-on-rails-5.2,Ruby On Rails,Ruby,Rails Activestorage,Ruby On Rails 5.2,我正在从不推荐使用的gem迁移到ActiveStorage,并想知道如何在模型中获得附件URL(例如,如果我想将其添加到自定义,如_json方法、一些弹性剪切数据等) 在该特定用例的文档中找不到任何内容 file = fetch_your_file link = rails_blob_path(file, disposition: 'attachment') 将返回附件链接我也遇到了同样的问题,似乎上传的文件没有公共URL,没有私人标记。使用ActiveStorage时,默认情况下所有文件

我正在从不推荐使用的gem迁移到
ActiveStorage
,并想知道如何在模型中获得附件URL(例如,如果我想将其添加到自定义
,如_json
方法、一些弹性剪切数据等)

在该特定用例的文档中找不到任何内容

file = fetch_your_file

link = rails_blob_path(file, disposition: 'attachment') 

将返回附件链接

我也遇到了同样的问题,似乎上传的文件没有公共URL,没有私人标记。使用ActiveStorage时,默认情况下所有文件都是私有的。这是一个问题,我的电子邮件嵌入图像,图像必须内联附加。查看此线程以获取补丁(出于这个原因,我还没有移动到。等待Rails 6来查看我们是否得到了更全面的内容)也许我没有理解要点,但请检查一下这个@iGian是永久生成的URL还是仅在有限的时间内生成的?也许是我的错误,但我认为我们无法获得与AS资产的永久链接。我需要更彻底地研究..@Maxence,在你的评论之后,我对我的虚拟应用程序的本地存储进行了测试。我复制了图像url,停止了服务器并多次重新启动,将url粘贴到许多浏览器中。URL仍然有效。所以,我想它是永久的。也可用于远程存储。你能通过类似的测试来证实吗?@iGian非常感谢。由于这些限制,我不敢使用回形针。我将使用一个虚拟应用程序在一个专用的bucket上进行测试,看看是否得到相同的结果。请注意(据我所知),这不是指向文件本身的链接,而是指向Rails端点的链接,该端点将查找blob并重定向到该blob的临时签名url。这是伟大的私人附件。。。对于将显示在页面上的图像来说,这并不太好,因为呈现页面将触发每个显示图像的单独Rails请求(涉及多个db查询)。