У меня есть приложение rails, но мне нужно маршрутизировать старые маршруты из приложения php в новые маршруты маршрутов (из-за привязки к ним старых объявлений Google). Я посмотрел далеко и широко, и я не могу понять, как решить мою проблему.Маршрут старых идентификаторов для новых маршрутов с тем же именем контроллера и с использованием дружественного идентификатора
У меня есть контроллер видео, где мои новые видео используют «дружественный идентификатор». Теперь у меня есть старые маршруты, где они используют как пули, так и идентификаторы. Мне нужно перенаправить эти старые маршруты на новые маршруты. Я знаю, что мне нужно проверить, нет ли видео, но я пытаюсь понять, как определить, что происходит в slug.
Моего вопрос: Я пытаюсь сделать простое перенаправление вещи, но мой контроллер пытается находится идентификатор и не может найти их (так как слизни больше не действительны), и выдает сообщение об ошибке. У меня есть список из 6 видеороликов, которые мне нужно перенаправить на новые маршруты.
Любые предложения по поводу того, что мне не хватает?
Маршруты
get '/videos/toys' => redirect('/videos')
get '/videos/88' => redirect('/videos/cool-video')
get '/videos/1388' => redirect('/videos/better-video')
get '/videos/tech-video' => redirect('/videos/technologies-video')
К примеру, у меня есть техник-видео, старый слизняк, что нужно, чтобы перейти к новой «технологии видео» или у меня есть идентификатор «88», который должен перейти к "Cool-видео"
контроллер
(bottom of controller)
private
def set_video
@video = Video.friendly.find(params[:id])
if @video.nil?
**method goes here**
end
end
Я раньше не использовал 'friendly_id', но думаю, вам просто нужно добавить маршрут под вашими маршрутами, которые выглядят как' get '/ videos /: id' => 'controller # action'', где ' Возможно, контроллер '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' * – dinjas
Ненавижу играть в «немой блондинку», но я не могу полностью следовать твоему предложению, потому что не могу обними голову. На основании маршрутов, которые я определил выше, какой маршрут маршрута вы предлагаете? – AGirlThatCodes
Когда рельсы ищут маршрут, который будет соответствовать, он увидит маршруты, в которых у вас есть '/ videos/88','/videos/1388' и т. Д., И перенаправляйте их для вас, как вы просили, но поскольку у вас нет маршрут, определенный для '/ videos/cool-video', и'/videos/better-video', он не знает, что делать. Итак, если вы добавите маршрут '/ videos /: id' ниже тех, которые у вас есть, Rails увидит это и сопоставит его и предположим, что' cool-video' и 'better-video' предназначены для': id' и сделает их доступными в вашем контроллере как params [: id] – dinjas