1

我正在尝试按照本教程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

如果有人需要它,我的神殿.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

任何和所有的帮助将不胜感激!

4

1 回答 1

2

该类Shrine::UploadEndpoint是带有旧direct_upload插件的机架应用程序。使用该upload_endpoint插件,您现在调用Shrine.upload_endpoint方法来为选定的存储创建一个 Rack 应用程序:

mount ImageUploader.upload_endpoint(:cache), at: "/images/upload"
于 2019-10-29T15:32:17.303 回答