我有一个像这样的字符串:
"foo=bar&bar=foo&hello=hi"
Run Code Online (Sandbox Code Playgroud)
Ruby on Rails是否提供了解析它的方法,就像它是一个查询字符串一样,所以我得到一个像这样的哈希:
{
:foo => "bar",
:bar => "foo",
:hello => "hi"
}
Run Code Online (Sandbox Code Playgroud)
或者我必须自己写吗?
请注意,上面的字符串不是来自URL的真实查询字符串,而是存储在来自Facebook Connect的cookie中的字符串.
我正在向向我们发送其他访问者的用户进行促销活动.这是在客户端完成的.
我可以使用动态GET参数来做到这一点,例如,http://www.mysite.com?app_source=user_id或者我可以使用哈希来做到这一点,例如http://www.mysite.com#app_source,user_id.
这些方法有任何优缺点吗?
从Ruby中的URL中删除查询字符串可以这样做:
url.split('?')[0]
Run Code Online (Sandbox Code Playgroud)
其中url是包含查询字符串的完整URL(例如url = http://www.domain.extension/folder?schnoo=schnok&foo=bar).
有没有更快的方法来做到这一点,即不使用拆分,而是使用Rails?
编辑:目标是重定向http://www.domain.extension/folder?schnoo=schnok&foo=bar到http://www.domain.extension/folder.
编辑:我用过:
url = 'http://www.domain.extension/folder?schnoo=schnok&foo=bar'
parsed_url = URI.parse(url)
new_url = parsed_url.scheme+"://"+parsed_url.host+parsed_url.path
Run Code Online (Sandbox Code Playgroud)