0

Rails 6.0.1 - Ruby 2.6.3 - 使用 rails_admin + rails_admin_import 的活动存储

在我的应用程序中,我使用Rails AdminRails Admin Import来允许管理员将包含数据的 CSV 文件上传到我的模型中。

在模型中,我有一个用于主动存储的封面照片附件设置。

class Post < ApplicationRecord
has_one_attached :coverphoto
end


----------

我设法通过 Rails Admin 手动将图像上传到每条记录,但是当我尝试上传带有封面照片列的 CSV 文件时,它会引发以下错误:

Error during import: ActiveSupport::MessageVerifier::InvalidSignature (/Users/../.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-6.0.1/lib/active_support/message_verifier.rb:176:in `verify')

如果我删除封面照片列,我可以上传在我的模型中具有相应属性的所有其他字段,但我不知道如何上传图像。


Rails Admin Import 的文档包括 CarrierWave 的文档,但我不知道应该如何修改它以使其与Active Storage Uploads一起使用。

#Import an image into Carrierwave via a URL provided in the CSV.
def before_import_save(record)
  self.remote_image_url = record[:image] if record[:image].present?  
end

任何帮助将不胜感激!

4

1 回答 1

0

尝试在您的 Rails 控制台上为该字段分配一个 url

post = Post.last
post.coverphoto = 'https://dummyimage.com/600x400/000/fff'
post.save

它可能会因相同的错误而失败。但如果你先这样做

post = Post.last
post.coverphoto = URI.parse('https://dummyimage.com/600x400/000/fff')
post.save

它应该工作。

所以对 before_import_saved 方法做同样的事情。

于 2020-05-11T18:37:14.447 回答