使用友好id将旧id路由到具有相同控制器名称的新路由



我有一个rails应用程序,但我需要将旧路线从php应用程序路由到我的新rails路线(因为与它们相关的旧谷歌广告)。我看得太远了,不知道如何解决我的问题。

我有一个视频控制器,我的新视频使用"友好id"。现在,我有一些老路线,它们既使用蛞蝓也使用id。我需要将这些旧路线重定向到我的新路线。我知道我需要检查的是视频是否为零,但我正在努力找出如何定义鼻涕虫的去向。

我的问题:我正在尝试进行简单的重新路由,但我的控制器正在尝试定位id,但无法找到它们(因为嵌段不再有效),并引发错误。我有一个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')

例如,我有一个技术视频,旧的鼻涕虫,需要转到新的"技术视频",或者我有一张id为'88'的视频,需要转到"酷视频"

控制器

(bottom of controller)
private
def set_video
  @video = Video.friendly.find(params[:id])
  if @video.nil?
    **method goes here**
  end
end

正如我们在聊天中发现的那样,确保没有带有'videos' 的路线

(包括resources :videos

发生在重定向上方的路由文件中,因为包含/videos/:id的路由将在重定向生效之前匹配。

祝你好运!!

相关内容

  • 没有找到相关文章

最新更新