神殿::错误:存储:高速缓存未注册的FileUploader

问题描述 投票:1回答:2

即时通讯使用Mongoid 6.0.3,2.3.1红宝石和轨道5.2

我创建了一个file_uploader类使用神龛处理我的上传。

/app/upload而是/file_upload而.日本

class FileUploader < Shrine
    Attacher.validate do
        validate_max_size 5.megabytes, message: 'is too large (max is 5 MB)'
        validate_mime_type_inclusion %w(application/pdf image/png 
application/plain text/plain text/plain application/excel application/x- 
excel image/jpeg)
    end
end

配置/初始化/ Shrine.rb

require "shrine"
require "shrine/storage/file_system"
Shrine.storages = {
        cache: Shrine::Storage::FileSystem.new("public", prefix: 
"uploads/cache"), # temporary
        store: Shrine::Storage::FileSystem.new("public", prefix: "uploads"), #     permanent
}
Shrine.plugin :mongoid
Shrine.plugin :validation_helpers

但我保存数据时出现错误,

在我的模型也被称为

include FileUploader::Attachment.new(:file)
field :file_data
ruby-on-rails mongoid shrine
2个回答
1
投票

靖国神社uses :file作为默认的文件类型分析。改变它在神社初始化到:mime_types后,它的工作。


0
投票

我必须做到以下几点来解决它:

正如所建议的@ashusvirus

model.rb

旧代码

include ImageUploader::Attachment.new(:file)

新代码

include ImageUploader::Attachment.new(:mime_types)

此外,我是使用ActiveRecord,而不是续集或Mongoid,所以我不得不改变下列太:

配置/ shrine.rb

旧代码

Shrine.plugin :sequel

新代码

Shrine.plugin :activerecord
© www.soinside.com 2019 - 2024. All rights reserved.