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

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

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

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

解決済

EC2にデプロイしたrailsアプリの例外処理がおかしい? 開発環境のようなエラー画面が表示される。

h-rsk
h-rsk

総合スコア12

Ruby on Rails 6

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

1回答

0グッド

0クリップ

199閲覧

投稿2022/11/22 04:12

前提

railsで開発したアプリをデプロイしたところ。
通常の挙動は問題ないのですが、例外を起こした時のエラー画面が本番用のものが表示されません。

実現したいこと

エラー画面の表示

発生している問題・エラーメッセージ

意図したルートエラーを起こした場合の画面
イメージ説明

該当のソースコード

一応カスタムエラーページを用意していますが、ここをコメントしても基本のエラーページが表示されることはありませんでした。

config/application.rb

1config.exceptions_app = ->(env) { ErrorsController.action(:show).call(env) }

試したこと

  • ローカルでのconfig.consider_all_requests_local = falseでは上手くいっている。
  • ログを比較したところProcessing by ErrorsController#show as HTMLが走っていない。
  • 参考リンクの内容から、nginxを止めた状態での確認もしてみましたが変化はありませんでした。
  • config/environments/production.rbにおけるconfig.consider_all_requests_local = false 確認。

補足情報

試行の際は都度インスタンスの再起動と、サーバーの再起動をしています。
初学者の為、調べ方にも手詰まってしまった状態です。
直接的な解決法に限らず、関係ありそうな箇所を指摘していただくだけでも大変助かります!宜しくお願い致します。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

ベストアンサー

RAILS_ENV の値は、何が指定されているのでしょうか。

投稿2022/11/22 04:45

fshun

総合スコア261

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

h-rsk

2022/11/23 00:05 編集

> RAILS_ENV の値は、何が指定されているのでしょうか。 心当たりはなかったのですが、関連記事を調べたところ、ec2上でサーバー起動させた時、下記のように * Environment: development となっていることが確認できました。 ``` $ bundle exec rails s -b 0.0.0.0 => Booting Puma => Rails 6.1.0 application starting in development => Run `bin/rails server --help` for more startup options Puma starting in single mode... * Version 4.3.12 (ruby 3.0.1-p64), codename: Mysterious Traveller * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 Use Ctrl-C to stop ``` そこで```$ bundle exec rails s -b 0.0.0.0 -e production```を試してみましたが、errorが出ました。どうやらunicorn周りが怪しそうなので、見直してみようと思います!

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 6

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。