Shrine 图像上传器未正确安装
Shrine Image uploader not mounted correctly
我正在尝试按照本教程进行操作 https://gorails.com/forum/direct-file-uploads-to-s3-part-2-example-gorails,但在加载我的本地服务器时,它出现了这个错误:
routing/mapper.rb:613:in `mount': A rack application must be specified (ArgumentError)
这是我的路线:
Rails.application.routes.draw do
root to: "photos#index"
resources :photos
mount ImageUploader::UploadEndpoint, at: "/images/upload"
end
如果有人需要它,我的 shrine.rb 初始化器
require "shrine/storage/s3"
s3_options = {
access_key_id: "MY_ACCESS_KEY",
secret_access_key: "MY_SECRET_KEY",
region: "S3_REGION",
bucket: "S3_BUCKET",
}
Shrine.storages = {
cache: Shrine::Storage::S3.new(prefix: "cache", **s3_options),
store: Shrine::Storage::S3.new(prefix: "store", **s3_options),
}
Shrine.plugin :activerecord
Shrine.plugin :upload_endpoint
Shrine.plugin :presign_endpoint
Shrine.plugin :restore_cached_data
我们将不胜感激任何帮助!
Shrine::UploadEndpoint
class 是一个带有旧 direct_upload
插件的 Rack 应用程序。使用 upload_endpoint
插件,您现在可以调用 Shrine.upload_endpoint
方法为选定的存储创建 Rack 应用程序:
mount ImageUploader.upload_endpoint(:cache), at: "/images/upload"
我正在尝试按照本教程进行操作 https://gorails.com/forum/direct-file-uploads-to-s3-part-2-example-gorails,但在加载我的本地服务器时,它出现了这个错误:
routing/mapper.rb:613:in `mount': A rack application must be specified (ArgumentError)
这是我的路线:
Rails.application.routes.draw do
root to: "photos#index"
resources :photos
mount ImageUploader::UploadEndpoint, at: "/images/upload"
end
如果有人需要它,我的 shrine.rb 初始化器
require "shrine/storage/s3"
s3_options = {
access_key_id: "MY_ACCESS_KEY",
secret_access_key: "MY_SECRET_KEY",
region: "S3_REGION",
bucket: "S3_BUCKET",
}
Shrine.storages = {
cache: Shrine::Storage::S3.new(prefix: "cache", **s3_options),
store: Shrine::Storage::S3.new(prefix: "store", **s3_options),
}
Shrine.plugin :activerecord
Shrine.plugin :upload_endpoint
Shrine.plugin :presign_endpoint
Shrine.plugin :restore_cached_data
我们将不胜感激任何帮助!
Shrine::UploadEndpoint
class 是一个带有旧 direct_upload
插件的 Rack 应用程序。使用 upload_endpoint
插件,您现在可以调用 Shrine.upload_endpoint
方法为选定的存储创建 Rack 应用程序:
mount ImageUploader.upload_endpoint(:cache), at: "/images/upload"