きっかけ Railsアプリケーションでは URL の末尾に .json などと書いてレスポンスのフォーマットを指定することができる。先日、このフォーマット部分の末尾に記号をつけてリクエストしても正しく動くということに気がついた。 /v1/users.json (これが正しいけど) /v1/users.json' (これでも動くし) /v1/users.json! (これでも動く) でも一部の記号はエラーになる。 /v1/users.json. (これはルーティングエラー) ここで疑問が湧いてくる。 URLとルーティング設定のマッチ処理ってどうなってるんだろう? たぶん正規表現でマッチングしてるんだろうけど、コードを追って調べてみましょう。 概要をつかむ Rails のコードにおいてルーティング処理がどこに書いてあるのかよく知らないので、まずは Ruby on Rails Hacking G