SALADこの広告は、90日以上更新していないブログに表示しています。RailsはじめにRailsでコードを書いていて、ControllerやhelperでURLのクエリ文字列を組み立てる場面ってありますよね。}.join("&")とかやってたんですけど、これだと値が配列の場合に対応してないんですよね。いいやり方ないかなって探してみたら見つけたので紹介します。Hash#to_queryHash#to_queryはActiveSupportのHash拡張で、レシーバーのHashインスタンスから、クエリ文字列を組み立てて返してくれます。Hash#to_paramも同様の挙動です。正確に言うと、Hash#to_queryがHash#to_paramのエイリアスです。何気にアルファベット順になっているのもポイント。配列や入れ子のハッシュにも対応。エスケープもしてくれる。引数に文字列(Symbolでも可)を渡すと、名前空間付きになる。元コード読むのも勉強になる「たぶん再帰的にto_queryを呼び出しているんだろうな」という予測はつくと思うんですが、実際はもう少し工夫されています。勉強になったので、よかったらどう実装されているかチェックしてみてください。'&'という記述にびっくりしました。*1おわりにRailsは、こうゆうのないかな〜って思って探してみるとだいたいあるので便利。endブロックに対してさらにメソッドチェーンするんだ・・・と。»プロフィールid:YasaichiWeb周りの話や開発環境改善の備忘録がメインのBlogです。FunctionAsObject注目記事はてなブログをはじめよう!Yasaichiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。