You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7.0.8.5配置ActiveStorage多S3桶报versions关联未找到错误

解决方法

1. 修复storage.yml语法错误

你的storage.yml存在缩进错误,access_key_id等配置项需与service处于同一层级,而非嵌套在service下方。修正后的配置如下:

amazon_backups:
  service: S3
  access_key_id: <%= ENV.fetch('AWS_ACCESS_KEY_ID') %>
  secret_access_key: <%= ENV.fetch('AWS_SECRET_ACCESS_KEY') %>
  region: <%= ENV.fetch('AWS_REGION') { 'us-east-1' } %>
  bucket: <%= ENV.fetch('AWS_BACKUPS_BUCKET') %>

错误缩进会导致Rails无法正确加载存储服务配置,进而引发后续异常。

2. 排查PaperTrail配置问题

错误提示说明PaperTrail被错误应用到了ActiveStorage的内置模型上:

  • 检查代码中是否存在ActiveStorage::Blob.has_paper_trail或ActiveStorage::Attachment.has_paper_trail这类配置,若有直接移除。
  • PaperTrail仅需应用到你的业务模型(即添加has_one_attached :file的模型),无需作用于ActiveStorage的系统模型。

3. 验证配置并重启服务

修复yaml配置与PaperTrail设置后,重启Web服务器,再次尝试保存记录并上传文件。若问题仍存在,检查PaperTrail版本是否与Rails 7.0.8.5兼容,必要时升级到适配版本。

内容的提问来源于stack exchange,提问作者DSadaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 13:00:03