ruby-on-rails Rails 7,如何删除上传到Cloudinary的图片

eqqqjvef  于 2023-10-21  发布在  Ruby
关注(0)|答案(1)|浏览(107)

我有Rails 7我已经使用Cloudinary设置了Active Storage。当我写一篇包含一个或多个图像的文章时,图像会正确上传到Cloudinary。然而,当我删除这篇文章时,它并没有从Cloudinary中删除图像。我已经安装了gem 'activestorage-cloudinary-service'并相应地修改了我的模型,但它没有任何区别。还有别的办法吗?
我的型号:

class Article < ApplicationRecord
  belongs_to :user
  validates :user, presence: true
  has_many_attached :images, service: :cloudinary, dependent: :purge
  has_many :article_categories, dependent: :destroy
  has_many :categories, through: :article_categories
end

config/storage.yml:

test:
service: Disk
 root: <%= Rails.root.join("tmp/storage") %>

 # local:
 #   service: Disk
 #   root: <%= Rails.root.join("storage") %>

 cloudinary:
    service: Cloudinary
    cloud_name: myname
    api_key: _______
    api_secret: ____
    environment: <%= ENV['CLOUDINARY_URL'] %>
    secure: true
    prefix: development/

我已经安装了gem 'activestorage-cloudinary-service',我已经修改了模型。我在控制台测试,它不删除Cloudinary。除了,当我在Rails C中上传图像时。我已经看到,当我在控制台做的时候,它把图像放在一个名为“开发”的文件夹中,当我在我的表单中做的时候,他把图像从文件夹中取出。可能就是因为这个原因,他无法删除图像。

zbsbpyhn

zbsbpyhn1#

看起来问题可能与上传图像的文件夹结构有关。通过控制台上传时将图像放在“开发”文件夹中与通过表单上传时将图像放在文件夹外之间的区别。请尝试更改,看看这是否是问题所在。

相关问题