我有使用mysql数据库的Paperclip附件管理器。
$id = searchAppID('263920 ', $r);
存储在Amazon S3中的图像。我需要从数据库中删除此图像上的链接,但图像必须保留在S3上。我怎么能这样做?
1)Photo.delete_all?
2)从ActiveAdmin删除?
3)从mysql控制台删除?
4)另一种方法......?
答案 0 :(得分:2)
您可以尝试将file_url设为空白,无需删除所有照片
Photo.update_all(file: nil)
答案 1 :(得分:2)
清除或更新附件时,不会自动删除现有附件文件(原件+调整大小)。默认为false。
所以也许你可以使用:
#app/models/photo.rb
class Photo < ActiveRecord::Base
has_attached_file :file,
styles: {:large => "800x600>"},
default_url: "/images/:style/missing.png",
keep_old_files: true
end
......甚至更好:
在所有情况下都保留现有附件文件,即使父记录已被销毁。
#app/models/photo.rb
class Photo < ActiveRecord::Base
has_attached_file :file,
styles: {:large => "800x600>"},
default_url: "/images/:style/missing.png",
preserve_files: true
end