LoginSignup
1
2

More than 3 years have passed since last update.

config.consider_all_requests_local=trueにしたら、Routing Error時に「作成したview」が表示されない。

Posted at

「Ruby on Rails6実践ガイド」に沿ってアプリを作っていると、この仕様に気づかず4時間ほど詰まってしまったので記事にします。

状況

Windows10home、VirtualBoxにUbuntu、更にDocker入れてRailsアプリ作成。
クライアントによって指定されたURLパスに対応するルーティングが存在しない場合(Routing Error)、デフォルトの
Qiita4.png
ではなく、自作した
Qiita3.png

を表示させたいが、
Qiita2.png

この表示になる。
サーバー実行はターミナル(端末)でこれ。

$ bin/rails s -e production -b 0.0.0.0

原因

本番環境でサーバー立ち上げたらターミナルにログが出ず、エラーの時に何が原因か分かりにくいので、

- config.consider_all_requests_local=false
+ config.consider_all_requests_local=true

と、falseからtrueに変えていたから。
falseに直すとRouting Error時に作成した画面が表示されました。
Rooting Errorになってもviewを表示する設定になっているから、そのviewが出ると思っていました。
他のエラーの時は、ちゃんと作成した画面が表示されるので。
ちなみにfalseにもどしても、railsサーバーを再起動しないと反映されません。

ちなみにconfig.consider_all_requests_localとは

trueにしたらブラウザにエラーレポートが表示され、falseにしたら表示されない。
config/developments/内にあり。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2