Rails action_text 内容修改报错问题

fatcat · 2023年06月12日 · 最后由 fatcat 回复于 2023年06月16日 · 219 次阅读

富文本处理采用的原生的 trix,但有个问题,has_rich_text :body,body 内容新建没什么问题,但经常会出现修改 body 中原来的上传的图片,比如删除,重新上传其它的图片。在 update 后会报错,说找不到之前的_blob.

Could not find or build blob: expected attachable, got #<ActiveStorage::Blob id: 315, key: "kzh9v2l5z58xrpnotwzc9cd5deww", filename: "paper.jpg", content_type: "image/jpeg", metadata: {"identified"=>true, "width"=>640, "height"=>2178, "analyzed"=>true}, service_name: "local", byte_size: 215595, checksum: "G6R6jL4OF9x1xui20FRgLA==", created_at: "2023-06-12 20:15:49.169789000 +0800">

这里的 paper.jpeg 早已经在 body 中删除,硬盘上没有删除。 我重新启动 rails server,会正常,但过一会又会出现。 请问是什么原因,查了一圈没有找到解决方法,问了 chatgpt 也答非所问。不知道哪位大佬遇到过类似问题没?

自己回复一下,应该是一行配置引起的。

config.active_storage.replace_on_assign_to_many = false

注释掉就正常了,这个配置的作用是在上传多个图片的时候,可以增量添加,注释掉后,就只能每次全部重传😥 有 JS 的解决方案,只是没这个方便。

fatcat 关闭了讨论。 06月16日 12:41
需要 登录 后方可回复, 如果你还没有账号请 注册新账号