[解決済み] Ruby on Railsで文字列をクエリ文字列のようにパースする。
2023-05-13 01:03:35
質問
このような文字列があります。
"foo=bar&bar=foo&hello=hi"
Ruby on Railsはこれをクエリ文字列のようにパースするメソッドを提供しているので、このようなハッシュを得ることができるのでしょうか。
{
:foo => "bar",
:bar => "foo",
:hello => "hi"
}
それとも自分で書かなければならないのでしょうか?
編集
上記の文字列は、URLからの実際のクエリ文字列ではなく、Facebook ConnectのCookieに格納された文字列であることに注意してください。
どのように解決するのですか?
答えは、使用しているRailsのバージョンに依存します。2.3以降を使用している場合は、Rackに組み込まれているparamsのパーサーを使用します。
Rack::Utils.parse_nested_query("a=2") #=> {"a" => "2"}
古いRailsを使用している場合、確かに
CGI::parse
. ハッシュや配列の扱いはモジュールによって微妙に異なるので、取得するデータが選択した方法で正しいかどうかを確認する必要があることに注意してください。
を含めることもできます。
Rack::Utils
をクラスに追加することもできます。
関連
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] RubyとRailsの "Date.today "フォーマット
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] 文字列をfloatやintにパースするにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] Node.js上のExpress.jsでGET(クエリ文字列)変数を取得する方法とは?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み】なぜPythonはこのJSONデータをパースできないのですか?[終了] PythonがこのJSONデータをパースできないのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] heroku open - no app specified
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] サーバーはRailsで既に稼働している
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] railsでcheck_boxをcheckedにする方法は?