質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

305閲覧

S3+herokuでの画像アップロードができない

hattin

総合スコア18

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/05/25 16:53

編集2022/01/12 10:55

わからない箇所
Rails tutorialの沿って、画像投稿を実装しようとしたところ、開発環境ではアップロードできるのですが、本番環境では画像読み込みができません(画像の代わりにaltと画像のマークが表示される)。git push heroku masterによるデプロイはできるのですが、

console

1$ RAILS_ENV=production bin/rails assets:precompile 2```を実行すると 3```console 4rails aborted! 5ArgumentError: Missing required arguments: aws_access_key_id, aws_secret_access_key

というエラーを吐かれてしまいます。
環境変数を確認してみても

console

1$ heroku config 2=== アプリ名 Config Vars 3DATABASE_URL: aaa 4LANG: aaa 5RACK_ENV: production 6RAILS_ENV: production 7RAILS_LOG_TO_STDOUT: enabled 8RAILS_SERVE_STATIC_FILES: enabled 9S3_ACCESS_KEY: aaa 10S3_BUCKET: aaa 11S3_REGION: aaa 12S3_SECRET_KEY: aaa 13SECRET_KEY_BASE: aaa

上記のように、値が入っていることを確認しています。
画像が正しくS3に入った時のS3の画面の変化はわかりませんが、現状、何もS3の概要の箇所に「バケットは空です」と書かれたままなので、正しくS3に保存されていないことはわかります。(当たり前ですが、、、)

コード

carriewave.rb

1if Rails.env.production? 2 CarrierWave.configure do |config| 3 # config.fog_provider = 'fog/aws' #ここを有効化するとpushでエラーになります 4 config.cache_dir = "#{Rails.root}/tmp/uploads" 5 config.fog_credentials = { 6 # Amazon S3用の設定 7 :provider => 'AWS', 8 :region => ENV['S3_REGION'], 9 :aws_access_key_id => ENV['S3_ACCESS_KEY'], 10 :aws_secret_access_key => ENV['S3_SECRET_KEY'], 11 path_style: true 12 } 13 config.fog_directory = ENV['S3_BUCKET'] 14 config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } 15 config.asset_host = "https://s3.ap-northeast-1.amazonaws.com/バケット名" 16 end 17end 18 19CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:].\-+]/

Gemfile

1source 'https://rubygems.org' 2 3gem 'rails', '5.1.6' 4gem 'rails-i18n' 5gem 'bcrypt', '3.1.12' 6gem 'faker', '1.4.2' 7gem 'carrierwave', '0.10.0' 8gem 'mini_magick', '3.8.0' 9gem 'bootstrap-sass', '3.3.7' 10gem 'puma', '3.9.1' 11gem 'sass-rails', '5.0.6' 12gem 'uglifier', '3.2.0' 13gem 'coffee-rails', '4.2.2' 14gem 'bxslider-rails' 15gem 'jquery-rails', '4.3.1' 16# gem 'turbolinks', '5.0.1' 17gem 'jbuilder', '2.7.0' 18gem "font-awesome-rails" 19gem 'will_paginate', '3.1.6' 20gem 'bootstrap-will_paginate', '1.0.0' 21gem 'ransack' 22gem 'kaminari' 23gem 'bootstrap-social-rails' 24gem 'font-awesome-rails' 25gem 'omniauth-google' 26gem 'omniauth-google-oauth2' 27gem 'omniauth' 28gem 'omniauth-facebook' 29gem 'omniauth-twitter' 30gem 'dotenv-rails' 31gem 'fog-aws' 32 33group :development, :test do 34 gem 'sqlite3', '1.3.13' 35 gem 'bullet' 36 gem 'byebug', '9.0.6', platform: :mri 37end 38 39group :development do 40 gem 'web-console', '3.5.1' 41 gem 'listen', '3.1.5' 42 gem 'spring', '2.0.2' 43 gem 'spring-watcher-listen', '2.0.1' 44end 45 46group :test do 47 gem 'rails-controller-testing', '1.0.2' 48 gem 'minitest', '5.10.3' 49 gem 'minitest-reporters', '1.1.14' 50 gem 'guard', '2.13.0' 51 gem 'guard-minitest', '2.4.4' 52end 53 54group :production do 55 gem 'pg', '0.20.0' 56 gem 'rails_12factor', '0.0.2' 57 gem 'fog', '1.36.0' 58 gem 'heroku-deflater' 59end 60gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

割と調べて、試したのですが、なかなか同じ状態で詰まっているサイトがなく最終手段として質問させていただきます。ご回答の程よろしくお願いいたします。
追記
もしかしたら、

console

1$ RAILS_ENV=production bin/rails assets:precompile

によるエラーは、bundle install --withput productionでproductionに入っているfog,fog-awsが反映されていないのかもしれません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問