【发布时间】:2020-01-24 07:01:40
【问题描述】:
按照 Carrierwave 和 RailsAdmin 说明,我可以使用 aws S3 在 RailsAdmin 中使用 Carrierwave 执行多次上传。尝试删除我得到的一张图片时:
undefined method 'filename' for nil:NilClass
assets字段是json字段,assets:json
这是在我的模型中:
attr_accessor :delete_assets
after_validation do
uploaders = assets.delete_if do |uploader|
if Array(delete_assets).include?(uploader.file.filename)
uploader.remove!
true
end
end
write_attribute(:assets, uploaders.map { |uploader| uploader.file.filename })
end
我尝试了uploader.file.identifier,但读到在使用fog aws S3 时应该使用uploader.file.filename。
到目前为止我的资源:
Rails 管理员 https://github.com/carrierwaveuploader/carrierwave/blob/master/README.md#multiple-file-uploads
载波: https://github.com/sferik/rails_admin/wiki/CarrierWave
堆栈溢出: Rails Admin - undefined method `' for using Carrierwave multiple upload
如何从这个 json 数组中删除之前上传的图片?非常感谢任何帮助!
【问题讨论】: