невозможно загрузить на aws3 с Active Storage - PullRequest
0 голосов
/ 27 июня 2018

Я не могу загрузить любое изображение из моего приложения в мое ведро aws. Я понимаю этот процесс, но, поскольку он немного изменился в связи с тем, что я сейчас использую версию Rails 5.2, я столкнулся с некоторыми новыми проблемами.

Сначала я выполнил миграцию active_storage и добавил в свой gemfile:

gem "aws-sdk-s3", require: false

в соответствии с http://edgeguides.rubyonrails.org/active_storage_overview.html#amazon-s3-service. Затем я отредактировал свои учетные данные в config/credentials.yml.enc

с моими ключами aws.

И я отредактировал свой config / storage.yml так:

 amazon:
   service: S3
   access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
   secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
   region: us-east-1
   bucket: my-bucket-name

Кроме того, я отредактировал config / environment / development.rband и изменил строку

config.active_storage.service = :local

до:

config.active_storage.service = :amazon

теперь, когда я пытаюсь создать новый элемент в своем приложении с гемом "aws-sdk-s3", я получаю следующее сообщение в качестве предупреждения:

Ошибка сохранения «chris-alumni.jpg». Статус: 0

Я только что изменил конфигурацию CORS, но, похоже, это не проблема:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader> * </AllowedHeader>
</CORSRule>
</CORSConfiguration>

Есть мысли о том, в чем может быть проблема? Я что-то упустил?

...