当锚存在时,Rails请求参数被忽略

时间:2013-04-21 15:35:06

标签: ruby-on-rails routing

我有一个请求进入我的rails 3应用程序:

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

我的路线:

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

路由成功找到我的控制器和操作,但params为空。 (几乎是空的,参数包含控制器和动作,但没有通过参数)。

就好像#上的网址上的所有内容都被删除了。我希望系统忽略#...?,但仍然提供我的查询参数。

我也试过这条路:

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

和'stuff'在#的参数中。 #之后的所有内容都已消失,包括url参数。

这是一个错误吗?是否有任何方式在网址中传递锚标记并仍提取查询参数?

(加法:)此网址来自PayPal,作为其嵌入式购物车的一部分。我无法控制String上字段的顺序,我不能成为唯一使用paypal迷你购物车的人。实际网址值为:

... /贝宝#PPMiniCart =复位TX = 4NH71321AG6850224&安培; ST =完成&安培; AMT = 2.73&安培; CC = USD

1 个答案:

答案 0 :(得分:3)

删除#之后的所有内容 - 浏览器不会将URL的片段部分发送到服务器。

如果您希望将这些参数视为查询字符串的一部分,则必须在#

之前