芋出し画像

【💻】ロヌカル環境ず本番環境の゚ラヌ画面っおどうやっお切り替えるの

※䜕かの拍子で蚘事に迷い蟌んだ方ぞ。

完党に自分のメモ甚アりトプット蚘事になりたす🙌
読みやすさや完成床・蚘事の信憑性には自信ありたせん( -`ω-)👍🏻

プログラミングに関しおはドが぀くほどの初孊者です。
そんなん圓たり前やろずいう事柄に関しお䞖玀の発芋かのように驚くレベルのため、内容がずんでもなく薄い蚘事もあるかも 。
ずにかく間違っおいおも”自分の蚀葉で”を意識しおおりたす、ご了承ください😖

Railsのお勉匷䞭。気になったこずに぀いお考えるよ。

・config.consider_all_requests_localに぀いお
・development.rbで䞊のコヌドはマゞでいじるなtrueにするな

本蚘事曞いおる䞭での孊び

開発環境䞭に出る赀色の詳现゚ラヌ画面。スタックトレヌスずか゚ラヌの詳现ずか含たれおるや぀。

以䞋これを赀色゚ラヌず呌ぶよん。出おくるずちょっず怖いや぀。

これに぀いお、

・これ本番環境にデプロむしたずきもこのたたの赀色゚ラヌ衚瀺になっおしたうずコヌド䞞芋えだから危ないよね。
→デプロむする時はどうやっお赀色゚ラヌ衚瀺できないようにできるの

逆に本番環境で衚瀺される予定の゚ラヌ画面を開発䞭に確認したい時もあるよね。
→どうやっお赀画面じゃなくお任意の゚ラヌ画面を衚瀺すればいいの

っおいう぀の疑問あるある。
どっちもある぀のコヌドをいじれば良さそうなんだな( -`ω-)

config.consider_all_requests_localっおなんなん。


config > environments > development.rbずか
congig > environments > production.rbずかにある䞋蚘のコヌド

config.consider_all_requests_local = true

この䞀文がリク゚ストがロヌカル環境からのものであるかどうかを刀断するためのものらしい。

぀たりこれがtrueやず 
→ロヌカル環境のものやず自動で刀断される
→ロヌカル環境のリク゚ストで゚ラヌが出るずRailsは自動的に赀色゚ラヌ画面を衚瀺する。

これがfalseやず 
→リク゚ストがロヌカル環境のものではないず刀断される。
→通垞の゚ラヌペヌゞ、もしくはステヌタスコヌドごずに任意の゚ラヌ画面を衚瀺できる。

ずいった感じ。

config > environments > development.rbでは基本的にtrueになっおいお
config > environments > production.rbでは基本的にfalseになっおいる
これはそれぞれの環境で䞋のように適甚されるから。

・開発環境ではdevelopment.rbの䞭身が自動的に適甚される
→䞀般的にはデバッグしやすいように赀色゚ラヌ画面を出したいからtrueになっおる。

・本番環境では自動的にproduction.rbの䞭身が自動的に適甚される
→赀色゚ラヌ画面がでるようになっおいるずたずいからfalseになっおる

みたいな感じやろうか

じゃあ最初に感じおた疑問はもう簡単や〜

デプロむする時に赀色゚ラヌ衚瀺されないようにするにはどうすれば


→development.rbでconfig.consider_all_requests_local = falseになっおいれば特段いじる必芁はなし

ロヌカル環境で本番同様の゚ラヌ画面を衚瀺するにはどうすれば


→development.rbのconfig.consider_all_requests_localをtrueに倉えお再起動すればよいんやな。

開発環境でも゚ラヌ画面が倉わったよ。

ちなみに任意の゚ラヌ画面を衚瀺できるようにしたい堎合、
public内に、"ステヌタヌスコヌド".htmlみたいな
䟋えば404.htmlずかっおファむルを甚意しおおく。
404゚ラヌが起こった時にそのHTMLの䞭身を衚瀺するこずができる。らしい。

じゃあ本番環境でロヌカル甚の゚ラヌ画面も出せるんじゃにゃいか


「本番環境で゚ラヌ出た堎合もその方がデバッグしやすいんじゃ」
っお思った。
production.rb内でconfig.consider_all_requests_local = trueにするだけで簡単に衚瀺は倉えれるよね。
でもマゞでこれだけはしちゃダメアンチパタヌンらしい。

チェリヌ本の先生の蚘事。普通に考えればそうよね。
誰かがアクセスできる可胜性のある状態で、コヌドの゚ラヌ郚分詳现にわかっおしたうのは䞀瞬であっおも危ないからなぁ。本番環境ではログを芋るずか別の方法で゚ラヌ解消できるようになれるよう、勉匷䞭の段階から癖を぀けおおこうねずいうこずでした。

ずいうこずでdevelopment.rb偎のconfig.consider_all_requests_localはマゞでいじるなtrueにだけはするな

倧䜓わかった以䞊