Rails 5 перенаправляет из одного каталога в несколько каталогов - PullRequest
0 голосов
/ 27 августа 2018

Новое в Rails. В Rails 5 у меня много страниц вроде /example_path/view_name.

Мне нужно разделить "example_path" на две разные директории: "new_path_1" и "new_path_2", с конкретными представлениями, идущими в new_path_1, и другими представлениями, идущими в new_path_2.

Мне также нужно перенаправить устаревший маршрут на новый маршрут, например: /example_path/view_name_1 необходимо перенаправить на /new_path_1/view_name_1 а также /example_path/view_name_2 необходимо перенаправить на /new_path_2/view_name_2

Я успешно перенаправил все пути для первого примера, например:

get '/example_path/:name, to: redirect('/new_path_1/%{name}.

Это работает, но не позволяет мне "разделить" трафик по двум новым путям. Это позволяет только перенаправить все устаревшие "example_paths" на "new_path_1".

Как я могу разделить маршруты без жесткого кодирования?

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете использовать опцию ограничений:

get '/example_path/:name, to: redirect('/new_path_1/%{name}, constraints: {name: /view_name_1'/}
get '/example_path/:name, to: redirect('/new_path_2/%{name}, constraints: {name: /view_name_2'/}

Но вам все равно придется вручную определять все маршруты from-> to, что я не уверен, если вы квалифицируете это как жесткое кодирование. Не имея чего-то последовательного для разделения, вам придется вручную сказать, какой из старых маршрутов идет к какому из новых маршрутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...