match '/main/*params', to: 'main#parse', :constraints => {:url => /.*/}, as: 'parser', via: 'get'
params
будет называться с /p1/p2/p3/p4/
.Route подстановки с параметрами, содержащих слэшами
Как изменить определение маршрута, чтобы иметь возможность выйти из одного параметра /p1//p3/p4/
и до сих пор PARAMS содержит параметр, как он был введен (/p1//p3/p4/
). Прямо сейчас params = p1/p3/p4/
с удаленной одной из косых черт.
Контроллер:
def parse
p = params[:params].split("/")
...
end
Я хотел избежать этого. Представьте количество маршрутов, необходимых для учета каждой перестановки пустых параметров. Вот почему я хотел определить один маршрут для учета любой возможности, а затем разобрать косые черты в моем контроллере. –
Я вижу. Можете ли вы предоставить код контроллера, который обрабатывает параметры? Вот где вам нужно будет измениться. После того как я увижу, что я могу обновить свой ответ соответственно. –
Я добавил действие на свой вопрос. Однако параметры поступают к контроллеру с параметром, который был удален. Итак, '//' становится '/' –