Проблема с загрузкой при использовании Amazon Amazon SDK - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь интегрировать amazon s3 в мой проект. Gemfile выглядит следующим образом.

gem 'paperclip', '~> 5.0.0'
gem 'aws-sdk-s3'

development.rb

    config.paperclip_defaults = {
      :storage => :s3,
      :bucket => 'name_ofbucket'
    }
    Paperclip.options[:command_path] = "/usr/local/bin/"

конфиг / aws.yml

development:
  access_key_id: AWS_ACCESS_KEY_ID
  secret_access_key: AWS_SECRET_KEY_ID

production:
  access_key_id: AWS_ACCESS_KEY_ID
  secret_access_key: AWS_SECRET_KEY_ID

Модель

 has_attached_file :logo, styles: { medium: '300x300>', thumb: '150x150>' },
                    :storage => :s3,
                    :s3_credentials => "#{Rails.root}/config/aws.yml",
                    :path => ":class/:attachment/:token/:style.:extension",
                    :bucket => 'name_of_bucket',
                    default_url: '/images/missing.jpg'

Теперь я получаю следующую ошибку.

не может загрузить такой файл - aws-sdk (может потребоваться установить гем aws-sdk)

Я уже установил гемы и перезапустил сервер. Я прошел через похожие темы, но не смог решить проблему.

Я не уверен, почему я получаю эту ошибку. Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 10 августа 2019

Для меня это было из-за того, что я добавил amazon s3_region неправильно Если вы используете хранилище S3, aws-sdk> = 2.0.0 требует, чтобы вы сделали несколько небольших Изменения:

  • Вы должны установить s3_region
  • Если вы явно устанавливаете разрешения в любом месте, например в инициализаторе, обратите внимание, что формат разрешений изменился с подчеркивания на используя дефис. Например, :public_read необходимо изменить на public-read.
0 голосов
/ 06 ноября 2018

Ваш Gemfile объявляет:

gem 'aws-sdk-s3'

В то время как сообщение об ошибке гласит:

не может загрузить такой файл - aws-sdk (может потребоваться установить гем aws-sdk)

Вы пытались вставить gem 'aws-sdk' в свой Gemfile?

Я знаю, что вы просто хотите использовать s3, а не целое aws-sdk, но, возможно, paperclip требует загрузки еще нескольких библиотек, чем минимум бара.

...