如何解决Rails:ActiveStorage 没有保存正确的 URL
最近在运行在 Rails 5.2 上的应用程序中,我添加了 Active Storage 和 ActionText 并将这两个插件组合在一起。我在 development.rb 上添加了这个配置:
config.active_storage.service = :local
提供了我的 storage.yml 文件:
test:
service: disk
root: <%= Rails.root.join("tmp/storage") %>
local:
service: disk
root: <%= Rails.root.join("storage") %>
并为 ActiveStorage 表执行迁移。
尽管如此,当我尝试将任何图像上传到我的 ActiveText 文本区域字段时。它似乎已正确加载,但在保存服务器后返回不起作用的路径。即使在我的 /storage 目录中有一个与我最初上传的图像大小非常相似的文件。所以我假设图像已上传,但未绑定到正确的路径? ActiveStorage::Attachment 似乎也包含错误的 url 路径。示例路径:
http://localhost:3000/rails/active_storage/blobs/eyJfcmfpbHMiOnsibWVzc2FnZSI6IkJBaEpJaWswTmpGbU1tVmxNeTAyT0RBeExUUmpPV010T0RWbU1DMWpPVGhqWkRZMlkyTmlOelFHT2daRlZBPT0iLCJleHAiOm51bGwsInB1ciI6ImJsb2JfaWQifX0=--e99f7751a2234f4827f4b8a6f42c4fa076f9011e/_109474861_angrycat-index-getty3-3.jpg
乍一看似乎没问题。但是在浏览器中粘贴会返回 No route matching [GET] 错误。
如何解决此问题并将网址以正确方式绑定到图像?
注意:活动存储和操作文本的所有表都填充有 uuid,而不是常规整数作为 ID。我不确定,但也许整个过程有点混乱?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。