活动存储:在模型更新上更新S3,在模型删除上删除S3

时间:2018-08-23 20:08:49

标签: rails-activestorage ruby-on-rails-5.2

我正在Rails 5.2.1上使用Active Storage

我已按照本教程进行操作,并且正在使用凭据在我的storage.yml

中进行设置
amazon:
  service: S3
  access_key_id: <%= Rails.application.credentials.aws_access_key_id! %>
  secret_access_key: <%= Rails.application.credentials.aws_secret_key! %>
  region: us-east-1
  bucket: bucket-on-aws

company.rb: has_one_attached :image, dependent: :purge_later

development.rb:config.active_storage.service = :amazon

我可以上传和查看图像。当我删除公司时,我的问题就来了,它没有从S3中删除。更新图像时也是如此。实际上我必须自己做所有这些吗?我希望Active Storage至少能够处理删除操作。...尤其是使用名为dependent: :purge_later

的选项

我确实尝试过从控制台进行实际清除: c.image.purge确实可以工作。但是我担心无法清除更新后留下的图像。

我通常会在整个模型上进行更新:

companies_controller.rb:@company.update(company_params)

rails way处理这两种情况是什么?

1 个答案:

答案 0 :(得分:0)

进入开发日志,发现Sidekiq自更改以来没有重新启动...。这意味着它仍然认为它正在使用本地存储!确保重新启动sidekiq或用于后台作业的任何内容