sinatra:dynamic routes match