Доброй ночи!
Сегодня полдня парился над одной задачей, но не имею пока решения. Допустим, я создал страницу FAQ. Для этого я создал контроллер FaqController, и настроил роутинг: get '/faq', to: "faq#index".
Все хорошо, до того момента, как пользователь захочет сменить для SEO название и сделать "host.com/voprosy-i-otvety". И задача сделать это без изменения файлов роутинга.
Я вижу три способа как это сделать, два попробовал, третий не успел. Но может я что-то фундаментально не понимаю?
1. Перехватываю ошибку "Страница не найдена". Проверяю по базе данных "меппинг", то есть смотрю, что страница voprosu-i-otvety соответствует старой Faq, и вызываю FaqController через render. Проблема: при рендере не вызывается action
2. Воспользовался
вот этим советом. Ошибка - контроллер не содержит actions. Когда смотрю созданный таким образом контроллер через .inspect - вижу, что он "пустой" - в нем ничего нет. :(
3. Менять на лету routing примерно,
как описано здесь. Но выглядит, как жесткий лайфхак.
Может быть, есть best way в решении такой задачи?
Заранее спасибо!