2013-04-21 26 views
1

我有一個請求進入我的Rails 3的應用:Rails的請求參數時,錨目前

http://mydomain/controller/action#an_anchor?p1=1&p2=2&p3=3 

我的路線:

match '/controller/:action' => 'controller' 

路由成功找到我的控制器和行動,但params爲空。 (幾乎是空的,params包含控制器和動作,但沒有任何參數通過)。

就好像url後面的所有內容都被刪除了。我希望系統忽略#...?,但仍然給我的查詢參數。

我也嘗試過這條路線:

match '/controller/*stuff' => 'controller' 

和 '東西' 是在PARAMS到#。 #之後的所有內容都消失了,包括url參數。

這是一個錯誤?有沒有任何的方式來傳遞一個url中的錨標記,並仍然提取查詢參數?

(加法:)此網址來自貝寶作爲其嵌入式購物車的一部分。我無法控制字符串上字段的順序,我不能成爲唯一使用貝寶迷你購物車的人。實際的URL值是:

... /貝寶#PPMiniCart =重置TX = 4NH71321AG6850224 & ST =完成& AMT = 2.73 & CC = USD

回答

2

一切#被剝離後 - 瀏覽器呢?不要將URL的片段部分發送到服務器。

如果你希望這些參數被視爲它們必須是#

+1

沒錯之前的查詢字符串的一部分。 IE瀏覽器。這些參數沒有被去除,但它們被解釋爲錨的一部分。您的計算機將錨定爲'an_anchor?p1 = 1&p2 = 2&p3 = 3' – Andrew 2013-04-21 15:47:17