Ruby activestorage Heroku AWS S3 - PullRequest
0 голосов
/ 27 марта 2020

У меня сейчас есть веб-приложение, работающее на heroku, я настраиваю свое приложение на сохраненные в активах значки fav и значок компании go, которые я использую только при входе в систему.

Проблема в том, что я пытаюсь использовать activestorage и aws s3 , чтобы начать загрузку изображений моих сотрудников в heroku .

Я следую всей документации, чтобы использовать activestorage и все документы о как настроить Heroku и AWS S3.

, запуск моего приложения локально работает с activestorage и s3. Я могу загрузить изображения в мое ведро S3, и все выглядит отлично, проблема в том, когда я пытаюсь развернуть эту версию на heroku. загрузка (когда я использую «git pu sh heroku master») не помечает никаких ошибок, но когда я пытаюсь получить доступ к своему приложению, мое приложение не работает.

Мои журналы heroku показывают мне

2020-03-27T16:38:47.835694+00:00 app[web.1]: from bin/rails:9:in `<main>'
2020-03-27T16:38:47.889395+00:00 app[web.1]: => Booting Puma
2020-03-27T16:38:47.889418+00:00 app[web.1]: => Rails 5.2.4.1 application starting in production
2020-03-27T16:38:47.889419+00:00 app[web.1]: => Run `rails server -h` for more startup options
2020-03-27T16:38:47.889419+00:00 app[web.1]: Exiting
2020-03-27T16:38:57.236728+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/admin/client" host=admin.ttpn.com.mx request_id=6568febe-d894-4751-bf2c-c6d8d1539146 fwd="189.237.90.141" dyno= connect= service= status=503 bytes= protocol=https

В моей модели сотрудника есть поля для использования с railsandmin и код для использования activestorage:

class Employee < ApplicationRecord

  has_one_attached :avatar
  attr_accessor :remove_avatar
  after_save { avatar.purge if remove_avatar == '1' }

Конфигурация rails_admin для использования изображений:

rails_admin do
    create do
      field :avatar, :active_storage
      field ...
    end

    edit do
      field :avatar, :active_storage do
        delete_method :remove_avatar
      end
      field ...
      end
    end
end

Мой код storege.yml is:

local:
  service: S3
  access_key_id: <%= Rails.application.credentials.amazon[:access_key_id] %>
  secret_access_key: <%= Rails.application.credentials.amazon[:secret_access_key] %>
  region: <%= Rails.application.credentials.test[:region] %>
  bucket: <%= Rails.application.credentials.test[:bucket] %>

amazon:
  service: S3
  access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
  secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
  region: us-east-2
  bucket: <%= ENV['BUCKET_NAME'] %>

Все переменные ENV [] настроены прямо сейчас в Heroku.

Кто-то может помочь мне найти решение, почему мое приложение не работает в heroku

Ткс

...