2

この形式の URL がありますhttp://0.0.0.0:3000/#&ui-state=dialogui-stateページを適切にレンダリングできるように、の存在を確認したい。私はこれを試しました

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

しかし、うまくいきませんでした。

ui-state の存在を確認するにはどうすればよいですか?


解決

jQuery モバイルを使用しています。url パラメーターのように見えるものは、実際には jQuery モバイルの内部属性です。それが がない理由?です。

4

2 に答える 2

2

投稿した URL の一部の例 ( http://.../&ui-state=dialog) が実際の URL である場合、それは正しくありません。クエリ文字列は?as in で始まる必要がありますhttp://.../?ui-state=dialog&クエリ文字列を開始できません。

アップデート

これは jQuery からのものであり、実際の URL パラメーターではないためparams、Rails には表示されません。代わりに、次のものから解析する必要がありますrequest.url

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

Update2

&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 に答える