问题描述
我有以下带有 ActiveStorage 的模型,我想通过 Minitest 进行测试:
class PortfolioReport < ApplicationRecord
has_one_attached :pdf_upload
validates :pdf_upload,content_type: 'application/pdf'
end
在 this answer 之后,我创建了两个文件:
# fixtures/active_storage/attachments.yml
pdf_upload:
name: pdf_upload
record: current (PortfolioReport)
blob: pdf_upload_blob
# active_storage/blobs.yml
pdf_upload_blob:
key:
filename: sample.pdf
content_type: application/pdf
service_name: local
byte_size: 34
checksum:
现在生成我使用的 key
:
ActiveStorage::Blob.generate_unique_secure_token
=> "vpdxk9dqsz2fqtdjf5bv07yhdhqi"
最后,我尝试生成校验和,如 answer 中所述,但我收到的不是值,而是错误:
md5_checksum = Digest::MD5.file('tmp/storage/vp/dx/vpdxk9dqsz2fqtdjf5bv07yhdhqi').base64digest
Traceback (most recent call last):
2: from (irb):5
1: from (irb):6:in `rescue in irb_binding'
Errno::ENOENT (No such file or directory @ rb_sysopen - tmp/storage/vp/dx/vpdxk9dqsz2fqtdjf5bv07yhdhqi)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)