【发布时间】:2013-07-31 18:12:04
【问题描述】:
我最近将一个网站从 Ruby 1.8.7 升级到 Ruby 1.9.2,从 Rails 3.0.x 升级到 3.2.x。我注意到我的一些旧版网址不再得到正确处理,因此想诊断一下问题。
这是我注意到的。
http://myapp.com/links/oldlink.html 在我的旧应用程序中提供了/links/oldlink.html 的params[:path],但现在 提供了links/oldlink。所以它删除了前导正斜杠以及文件扩展名。
谁能帮我弄清楚这里发生了什么?当然,我可以手动更改数据库中的旧字符串以删除它们的正斜杠和文件扩展名,但这似乎是一个 hacky 解决方案,我想确保我了解导致 Rails 路由发生这种变化的基本原理行为。
谢谢!
【问题讨论】:
-
这不是答案,而是一种解决方法:
request.fullpath.split("?")[0]将返回不带参数的路径
标签: ruby-on-rails ruby ruby-on-rails-3.2 routing rails-routing