这个问题是我之前的问题的后续问题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
会消失。如何确保问号是否存在www.foo.com/
后params[:not_found]
存储的所有文字?
再次,请先read the question and the solution here。然后,如果你能回答这个很棒的问题!
答案 0 :(得分:1)
Rails路由只能匹配补丁,而不是查询字符串。
如果你使用Rob Davis给你的第一个例子(没有重定向的那个),你将能够使用以下方法检查查询字符串参数:
request.query_string
检查一下,也可能有用:Rails Routing with Query String