2013-12-23 3 views
1

У меня есть URL, как это:Рельсы маршрутов: соответствие первого вхождений

http://example.com/page123-some-random-words

Как я могу создать маршрут рельсы, что дает мне эти два Params:

id = 123

misc = some-random-words


Это что я пытался, но не работает:

get 'page(:id)-(:misc)'

Это в настоящее время дает мне:

id = 123-some-random

misc = words

Решение:

Вот что закончилась :

get 'page(:id)-(:misc)' => "posts#index", constraints: { :id => /[0-9]+/}

ответ

1

вы можете использовать этот тип маршрута

get "/page/:id/:misc" => "yourcontroller#action" 
+0

Это было бы изменить структуру URL. Не существует способа сопоставить первый дефис в маршрутах? – Hopstream

+0

http://guides.rubyonrails.org/routing.html#advanced-constraints checkout 4.2 Указание ограничений –

+0

Спасибо. Найденные там, что ограничения могут принимать регулярное выражение. – Hopstream

Смежные вопросы