我最近将一个站点从Ruby 1.8.7升级到Ruby 1.9.2,从Rails 3.0.x升级到3.2.x.我注意到我的一些遗留网址不再被正确处理,并且想要诊断问题。
这是我注意到的。
http://myapp.com/links/oldlink.html
在我的旧应用中提供了params[:path]
/links/oldlink.html
,但现在正在提供links/oldlink
。所以它正在放弃领先的转发以及文件扩展名。
任何人都可以帮我弄清楚这里发生了什么吗?当然我可以手动更改我的数据库中的遗留字符串以删除它们的正斜杠和文件扩展名,但这似乎是一个hacky解决方案,我想确保我理解在Rails路由中解释此更改的基本原则行为。
谢谢!
答案 0 :(得分:0)
您应该在您的routes.rb
中尝试此操作match '/foo', :to => redirect('/foo.html')