これはRefile gem を使用した初めての Rails プロジェクトなので、このすばらしいファイル アップロード gem の詳細をまだ完全には把握していません。
本番モードではファイルが Amazon S3 にアップロードされるように Refile gem を設定しようとしていますが、開発モードではファイルがファイル システムにアップロードされます。
私の config/initializers/refile.rb ファイルは次のようになります。
require "refile/backend/s3"
aws = {
access_key_id: Rails.application.secrets.s3_key,
secret_access_key: Rails.application.secrets.s3_secret,
bucket: "adlit",
}
Refile.cache = Refile::Backend::S3.new(prefix: "cache", **aws)
Refile.store = Refile::Backend::S3.new(prefix: "store", **aws)
end
しかし、開発中の画像をアップロードしようとすると、次のエラー メッセージが表示されます。
Missing Credentials. Unable to find AWS credentials. You can configure your AWS credentials a few different ways: * Call AWS.config with :access_key_id and :secret_access_key * Export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to ENV *...
そこで、条件に構成を追加してこれを修正しようとしました:
if Rails.env.production
...
end
しかし、それでも問題は解決しませんでした。開発モードで上記のエラー メッセージが引き続き表示されます。
本番環境では Amazon S3 にファイルをアップロードし、開発モードではファイル システムにファイルをアップロードするように Refile を設定する方法を知っている人はいますか?
ご協力いただきありがとうございます、
アンソニー