Согласно RFC 2616 и RFC 2396 (RFC, определяющие идентичность ресурса), эти URL не определяют один и тот же ресурс. Поэтому Синатра относится к ним по-разному. Это особенно. важно, если вы представляете маршрут, возвращающий страницу с относительными ссылками. Эта ссылка
<a href="bar">click me</a>
будет указывать на /bar
, если вы идете с /foo
, на /foo/bar
, если вы идете с /foo/
.
Вы можете использовать следующий синтаксис для определения маршрута, соответствующего обоим:
get '/foo/?' do
# ...
end
Или версия Regexp, упомянутая в комментариях выше.