ハッシュからa=123&b=%E3%81%82
というクエリ文字列を作りたいときはURI.encode_www_form
が使えます。Railsならto_query
というメソッドもあります。
それをパスと連結したい、クエリ文字列が空のときは「?」もつけたくないとなると、以下のようなメソッドになると思うのですが、このようなメソッドはRubyやRailsに標準では無いのでしょうか?
よく使うメソッドなので、きっと何かあるはずだと思ったのですが、見つからなかったので質問させて頂きました。
ruby
1require "uri" 2 3def build_url(path, params) 4 if params.empty? 5 path 6 else 7 "#{path}?#{URI.encode_www_form(params)}" 8 end 9end 10 11puts build_url("http://localhost:3000/", {a: 123, b: "あ"}) 12# => http://localhost:3000/?a=123&b=%E3%81%82

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。