Недавно мы изменили название продукта на нашем веб-сайте с «браслеты» на «браслеты», и нам нужно сохранить старые маршруты для целей SEO.
По сути, эти маршруты
www.hostname.com/products/bracelets/series-1/
www.hostname.com/products/bracelets/series-1/small-purple
должен направиться к
www.hostname.com/products/wristbands/series-1/
www.hostname.com/products/wristbands/series-1/small-purple
Я читаю руководство здесь http://guides.rubyonrails.org/routing.html#redirection и похоже, что я буду использовать синтаксис блока, но я все еще не уверен, как правильно выполнить маршрут. Я тоже хочу узнать больше о файле маршрутов, поэтому любая информация будет полезна. заранее спасибо
match "/bracelets/:name" => redirect {|params| "/wristbands/#{params[:name]}" }
РЕДАКТИРОВАТЬ:
Хорошо, я немного поигрался с ним, и вот как он работает с тем, что я пробовал
match "/products/bracelets/:name/:name2" => redirect {|params| "/products/wristbands/#{params[:name].pluralize}/#{params[:name2].pluralize}" }
Входной URL: localhost: 3000 / products / bracelets / series-1 / small-purple
Выходной URL: localhost: 3000 / products / wristbands
Сообщение об ошибке: Недействительный продукт: серия-1
(Таким образом, совпадение сработало, а перенаправление - нет)
Если я изменю совпадение, чтобы проверить такие параметры:
match "/products/balance-bracelets/:name/:name2" => redirect {|params| "/products/wristbands/#{params.inspect}" }
Получаю следующее:
/products/wristbands/{:name=>"series-1", :name2=>"small-purple"}
Похоже, он не распознает вторую косую черту '/' или что-то в этом роде. Любые идеи?