2013-07-31 11 views
0

我最近將一個站點從Ruby 1.8.7升級到Ruby 1.9.2,並從Rails 3.0.x升級到3.2.x.我注意到我的一些遺留網址沒有被正確處理,並且想要診斷問題。軌道路由是否改變了它處理參數[:path]的方式?

這是我注意到的。

http://myapp.com/links/oldlink.html過,在我的舊的應用程序,提供了一個/links/oldlink.htmlparams[:path],但現在提供links/oldlink。所以它會放棄主要的正向擴展以及文件擴展名。

任何人都可以幫我弄清楚這裏發生了什麼?當然,我可以手動更改數據庫中的舊字符串,以便刪除正斜槓和文件擴展名,但這似乎是一個拙劣的解決方案,並且我想確保我理解解決Rails路由中此更改的基本原則行爲。

謝謝!

+0

這不回答,但解決方法:'request.fullpath.split( 「?」)[0]'將返回路徑,而不參數 – MrYoshiji

回答

0

你應該在你的routes.rb試試這個

match '/foo', :to => redirect('/foo.html')