Я думаю, что метод / опция constraints
поможет вам. Попробуйте что-то вроде следующего:
match ':hostname/something/else' => 'test#info',
:constraints => {:hostname => /[A-Za-z0-9\._\-]+/}
Если вы делаете несколько совпадений с одним и тем же сегментом :hostname
, вы можете заключить их в вызов метода ограничений:
constraints(:hostname => /[A-Za-z0-9\._\-]+/) do
match ':hostname/something/else' => 'test#info'
match ':hostname/foo/bar' => 'test#foo'
end