Загрузчик Shrine Image неправильно установлен - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь следовать этому руководству 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

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 29 октября 2019

Класс Shrine::UploadEndpoint был приложением Rack со старым плагином direct_upload. С плагином upload_endpoint вы теперь вызываете метод Shrine.upload_endpoint, чтобы создать приложение Rack для выбранного хранилища:

mount ImageUploader.upload_endpoint(:cache), at: "/images/upload"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...