标签: ruby-on-rails routes
当我需要指出一个在其他人的网站上仍然存在的弃用URL我无法控制(get '/something/article.jsp?id=1787' => 'root#index' )到我的应用程序的根目录时,如何在config / routes.rb中编写Rails路由?
get '/something/article.jsp?id=1787' => 'root#index'
下面(错误的)尝试需要如何纠正?
{{1}}
答案 0 :(得分:2)
您可以指定constraint:
constraint
get '/something/article', to: redirect('/'), :constraints => lambda { |request| request.params[:id] == '1787' }
这会创建一个301"永久移动"重定向。
如果您不想进行重定向,而是希望该网址只是触发root#index操作,则可以将to: redirect('/')行替换为to: 'root#index'。但是,此方法会将旧URL保留在地址栏中。
root#index
to: redirect('/')
to: 'root#index'
希望它有所帮助!