Переопределить маршрут по умолчанию, если параметр не указан
Вопрос
Рассмотрим следующий фрагмент:
get '/hello/:name' do |n|
"Hello #{n}!"
end
Как я могу установить параметры по умолчанию, если имя не указано?Если я смогу установить параметр по умолчанию для Тома, будет ли это также маршрутизировать URL-адрес, чтобы /hello/ автоматически перенаправлялся на /hello/tom?
Решение
Я думаю, вам нужно сделать что-то вроде:
get '/hello/' do
redirect '/hello/tom'
end
Вы можете написать «hello/*» и получить к нему доступ через params[:splat]
, если вам просто нужно одно место для логики.Но вам все равно придется перенаправить, чтобы перейти к URL-адресу /hello/tom из /hello/.
Не связан с StackOverflow