1

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

我有一个视频控制器,我的新视频使用“友好 ID”。现在,我有旧路线,它们同时使用 slug 和 id。我需要将这些旧路线重定向到我的新路线。我知道我需要检查视频是否为零,但我正在尝试弄清楚如何定义 slug 去哪里。

我的问题:我正在尝试做简单的重新路由事情,但我的控制器正在尝试定位 id 并且无法找到它们(因为 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')

例如,我有一个技术视频,旧 slug,需要转到新的“技术视频”,或者我有一个 '88' 的 ID,需要转到“酷视频”

控制器

(bottom of controller)
private

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

  end
end
4

1 回答 1

0

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

(包括resources :videos

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

祝你好运!!

于 2015-12-10T05:44:07.793 回答