2016-09-26 6 views
-3

Я хочу создать область с двумя необязательными параметрами. Первый может быть только «parameter1» или полностью опущен, а второй может иметь только значения «a или b или c» или также опущен. Как я могу это сделать?Несколько необязательных параметров в маршруте - как?

+5

прояснить вопрос, это вообще непонятно. дайте примеры желаемого вывода –

+1

сначала вы должны убрать вопрос – vipin

+0

Я думаю, что они означают, что вам нужно быть более конкретным о том, чего вы хотите достичь; то есть какой тип URL должен анализироваться каким образом. Вы должны также включить то, что вы пробовали (но не работали). – Smar

ответ

1

Простая вещь, которая приходит мне на ум.

get "/admin/parameter1/a" to: "/admin/index" 
get "/admin/parameter1/b" to: "/admin/index" 
get "/admin/parameter1/c" to: "/admin/index" 
get "admin/a" to: "admin/show" 
get "admin/b" to: "admin/show" 
get "admin/c" to: "admin/show" 

или вы можете использовать дополнительный параметр при условии рельсами

get "/admin/(/:parameter1(/:parameter2))(/:parameter2)", constraints: {parameter2: /a|b|c/, parameter1: /parameter1/} 
+0

почему: параметр2 2 раза? – Koooomo

0
scope '(:param1)/(:param2)', param1: /parameter1/, param2: /a|b|c/ do 
    ...your resources 
    end 
Смежные вопросы