Я не могу загрузить любое изображение из моего приложения в мое ведро 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>
Есть мысли о том, в чем может быть проблема? Я что-то упустил?