2

我有一个这种格式的 URL http://0.0.0.0:3000/#&ui-state=dialog。我想检查是否存在,ui-state以便我可以适当地呈现页面。我试过这个

params.has_key?(:'ui-state')

但它没有用。

如何检查 ui-state 是否存在?


解决方案

我正在使用 jQuery 手机。看起来像 url 参数的东西实际上是 jQuery mobile 的内部属性。这就是为什么没有?.

4

2 回答 2

2

如果您发布的部分示例 URL ( http://.../&ui-state=dialog) 是您的实际 URL,则它是不正确的。您的查询字符串必须以 a 开头,?http://.../?ui-state=dialog. &无法启动查询字符串。

更新

因为这是来自 jQuery 而不是真正的 URL 参数,所以它不会出现params在 Rails 中。相反,您需要将其解析为request.url

ui_state = /&ui-state=([a-z]+)$/.match(request.url)
puts ui_state[1]

更新2

由于&ui-state跟随 url 散列#,它不会在request.url. 哈希严格来说是浏览器使用的客户端组件,不会在 HTTP 请求中发送到服务器。

于 2012-04-06T23:25:46.550 回答
1

你试过params[:ui-state] == dialogparams[:ui-state].blank?/params[:ui-state] == ""

于 2012-04-06T23:07:22.407 回答