0

我最近将一个站点从 Ruby 1.8.7 升级到 Ruby 1.9.2,从 Rails 3.0.x 升级到 3.2.x。我注意到我的一些遗留 url 不再被正确处理,并想诊断这个问题。

这是我注意到的。

http://myapp.com/links/oldlink.html曾经,在我的旧应用程序中,提供了params[:path]of /links/oldlink.html,但现在正在提供links/oldlink. 所以它删除了前导正斜杠以及文件扩展名。

谁能帮我弄清楚这里发生了什么?当然,我可以手动更改数据库中的旧字符串以删除它们的正斜杠和文件扩展名,但这似乎是一个 hacky 解决方案,我想确保我了解导致 Rails 路由发生这种变化的基本原理行为。

谢谢!

4

1 回答 1

0

你应该在你的 routes.rb 中试试这个

match '/foo', :to => redirect('/foo.html')
于 2013-07-31T18:29:03.683 回答