kan*_*kyu 10 rails-activestorage ruby-on-rails-5.2
我的应用程序(本地)ActiveStorage::IntegrityError在尝试附加文件时引发错误。我怎样才能摆脱这个错误?
我只有一个has_one_attached,我不知道这个错误是如何妨碍的。
# model
has_one_attached :it_file
Tempfile.open do |temp_file|
# ...
it_file.attach(io: temp_file, filename: 'filename.csv', content_type: 'text/csv')
end
# storage.yml
local:
service: Disk
root: <%= Rails.root.join("storage") %>
Run Code Online (Sandbox Code Playgroud)
编辑:它可能与删除storage/目录有关(它发生在我删除之后),也可能是因为它发生在工作中(完整的错误是Error performing ActivityJob (Job ID: .. ) from Async( .. ) in .. ms: ActiveStorage::IntegrityError (ActiveStorage::IntegrityError)
这不会将文件添加到storage/文件夹,但当我尝试附加它们时,它会在其下生成文件夹。
很奇怪。更新到 Rails 6.0 后,我必须重新计算一些校验和。是的,我使用了dokku,docker。更新之前还好好的
# Disk service is in use for ActiveStorage
class ProjectImage < ApplicationRecord
has_one_attached :attachment
end
# update all checksums
ProjectImage.all.each do |image|
blob = image.attachment.blob
blob.update_column(:checksum, Digest::MD5.base64digest(File.read(blob.service.path_for(blob.key))))
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5666 次 |
| 最近记录: |