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

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

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

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

解決済

1回答

907閲覧

herokuにデプロイするとno implicit conversion of nil into Stringと言うエラーが出る

Salix_Hiroki

総合スコア2

Ruby on Rails 5

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2020/05/21 10:06

編集2020/05/21 13:05

お世話になります。

##問題点
herokuにデプロイするとTypeError: no implicit conversion of nil into Stringという
エラーが出ます。

以前、デプロイし、画像を投稿して1日で表示されなくなりました。
そのため、AWSにおいてS3に移行しました。
移行後にデプロイしたところエラーが出たという流れです。

##エラーコード

terminal

1remote: The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. 2remote: -----> Installing node-v10.15.3-linux-x64 3remote: -----> Detecting rake tasks 4remote: -----> Preparing app for Rails asset pipeline 5remote: Running: rake assets:precompile 6remote: rake aborted! 7remote: TypeError: no implicit conversion of nil into String 8remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/vendor/bundle/ruby/2.6.0/gems/carrierwave-2.1.0/lib/carrierwave/uploader/configuration.rb:115:in `eval' 9remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/vendor/bundle/ruby/2.6.0/gems/carrierwave-2.1.0/lib/carrierwave/uploader/configuration.rb:115:in `cache_storage' 10remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/config/initializers/carrierwave.rb:12:in `block in <main>' 11remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/vendor/bundle/ruby/2.6.0/gems/carrierwave-2.1.0/lib/carrierwave/uploader/configuration.rb:174:in `configure' 12remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/vendor/bundle/ruby/2.6.0/gems/carrierwave-2.1.0/lib/carrierwave.rb:14:in `configure' 13remote: /tmp/build_2ce6676836f526e6c0682dca8b30108b/config/initializers/carrierwave.rb:2:in `<main>'

##関連するコード

Ruby

1carrier_wave.rb 2 3require 'carrierwave/storage/abstract' 4require 'carrierwave/storage/file' 5require 'carrierwave/storage/fog' 6 7CarrierWave.configure do |config| 8 if Rails.env.production? 9 config.storage :fog 10 config.fog_provider = 'fog/aws' 11 config.fog_credentials = { 12 provider: "AWS", 13 aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'], 14 aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'], 15 region: ENV['AWS_DEFAULT_REGION'] 16 } 17 18 config.fog_directory = ENV['FOG_DIRECTORY'] 19 config.fog_attributes = { cache_control: "public, max-age=#{365.days.to_i}" } 20 21 else 22 config.storage :file 23 config.enable_processing = false if Rails.env.test? 24 25 end 26 CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:].\-+]/ 27end

Ruby

1image_uploader.rb 2 3class ImageUploader < CarrierWave::Uploader::Base 4 # Include RMagick or MiniMagick support: 5 # include CarrierWave::RMagick 6 # include CarrierWave::MiniMagick 7 8 # Choose what kind of storage to use for this uploader: 9 if Rails.env.development? 10 storage :file 11 elsif Rails.env.test? 12 storage :file 13 else 14 storage :fog 15 end 16 17 # Override the directory where uploaded files will be stored. 18 # This is a sensible default for uploaders that are meant to be mounted: 19 def store_dir 20 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 21 end

##確認したこと
Access_keyなどは.env.productionと言うファイルに記載してあります。
rails cから取得できています。
AWSに直接アップロードはできます。
開発環境において画像のアップロードはできています。

awsキーが読み取れないと言うことなのでしょうか。

ご回答のほど、よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

自己解決

IAWにて再度ユーザーを作成したらうまく行きました。

投稿2020/05/25 14:03

Salix_Hiroki

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問