/xxx.txtなどのアクセスを受けた時、MissingTemplateエラーが出力される
何が起きたのか
/xxx.txtなどのアクセスを受けた時、MissingTemplateエラーが出力される
概要
404.txtをrenderしようとするが、404.html.erbなどHTMLファイルしか用意していないことが原因である。 なるほどね。 まあ、当たり前ですよね
解決策
- Railsで対応しているフォーマットの404と500を全部作る
- MissingTemplateが発生したら404.htmlに無理やり変更する(もしくは500)
Railsで運営されてるっぽいサイトはどうやって対応しているのか?
github様
いつもお世話になっています。
https://github.com/rails/rails/issues/25593.txt
ホワイトアウト!
これ、何も対処してないね。
https://github.com/rails/rails.txt
などは404ページが表示される。
slugがrails.txt
のリソースを探しにいってNOT FOUNDということだと思う。
まあ、何も対応してないね。
Oh My Glasses様
Spreeを利用されているメガネのECサイトさん。
同じフレームワークを使っているので、こういうとき、よく参考にしています。
https://www.ohmyglasses.jp/brands.txt
しぼん。
結論
- ま、きにしなくていいんじゃねーか?
- 他にもいくつかみたけど、適切にtxtを返すようなサイトは見つからなかった。
.txt
などをpermalinkに含めて検索してNOT FOUNDを返すケースと、サーバーエラーになるケースの2つに分かれる模様。- 「1行routes.rbに書けば解決!」みたいなのが無ければやらなくて良さそう。めんどくさいし。