Railsのルーティングではまったのでメモ。
スラッシュが連続しているURLでアクセスしたときに、ルーティングでは単一のスラッシュとして扱われる。
http://foo.bar//////////something.jpg
上のURLは下のように解釈される。
http://foo.bar/something.jpg
はまった内容
次のようなルーティングを定義していて、
get 'product/:id/thumb' get 'product/:id'
1番目の/thumbへのアクセス時に意図せず:id
が省略されてしまい、次のようなURLになってしまったところ、
http://foo.bar//thumb
二つのスラッシュがまとめられて、
http://foo.bar/thumb
thumb
が:id
として解釈されてしまい、意図しない動作をした。