Ruby on Rails:将已弃用的URL路由到应用程序的根目录

时间:2015-05-30 23:28:34

标签: ruby-on-rails routes

当我需要指出一个在其他人的网站上仍然存在的弃用URL我无法控制(get '/something/article.jsp?id=1787' => 'root#index' )到我的应用程序的根目录时,如何在config / routes.rb中编写Rails路由?

下面(错误的)尝试需要如何纠正?

{{1}}

1 个答案:

答案 0 :(得分:2)

您可以指定constraint

get '/something/article', to: redirect('/'),
      :constraints => lambda { |request| request.params[:id] == '1787' }

这会创建一个301"永久移动"重定向。

如果您不想进行重定向,而是希望该网址只是触发root#index操作,则可以将to: redirect('/')行替换为to: 'root#index'。但是,此方法会将旧URL保留在地址栏中。

  • 有关重定向here的更多信息。
  • 有关约束的更多信息here

希望它有所帮助!