2011-07-03 88 views
1

這個問題是我前一個可以找到的後續問題here。如果我有一個網站www.foo.com並且用戶鍵入www.foo.com/blahblahblah我希望它重定向到根路徑並能夠操縱文本blahblahblah。我使用了Rob Davis在這個問題上提出的解決方案,並且它在大多數情況下都能正常工作 - 如果用戶輸入類似於www.foo.com/a/b/c的東西,它將重定向到根路徑,而字符串a/b/c正確存儲在params[:not_found]中。但是,如果用戶輸入帶有問號的內容,例如www.foo.com/a?b=c,則存儲在params[:not_found]中的所有內容都將被a?b=c消失。如何確保問號是否存在於params[:not_found]之後的所有文字www.foo.com/Rails從無效路由中讀取url查詢字符串

請再次請read the question and the solution here。那麼如果你能回答這個很棒的問題!

回答

1

Rails路由只能匹配補丁,而不是querystrings。

如果你使用的第一個例子羅布·戴維斯給你(一個沒有重定向),你就可以通過檢查查詢字符串參數:

request.query_string 

檢查這一點,可能是有用的: Rails Routing with Query String