2017-07-07 7 views
1

私は、URLを生成する際に使用するパラメータにハッシュを使用しています。私はこのようなものを持っています:URLを生成するために重複キーを使用するRubyハッシュ

params = { 
    :center => Geocoder.coordinates(currentlocation).join(","), 
    :zoom => 10, 
    :size => "460x280", 
    :markers => Geocoder.coordinates(markerlocation).join(","), 
    :sensor => true, 
    :key => ENV["GOOGLE_API_KEY"] 
    } 

query_string = params.map{|k,v| "#{k}=#{v}"}.join("&") 
image_tag "https://maps.googleapis.com/maps/api/staticmap?#{query_string}", :alt => location 

しかし、私はURLに複数の "マーカー"パラメータを持つ必要があります。生成するURLごとに、必要な「マーカー」の数を知ることはできません。たとえば、配列markerlocationsを持っている場合は、URLで使用する配列の各メンバーに対して:markersのキーと値のペアを作成する必要があります。これを達成する最良の方法は何ですか?

答えて

1
require 'net/http' 
params = { 
    :center => Geocoder.coordinates(currentlocation).join(","), 
    :zoom => 10, 
    :size => "460x280", 
    :markers => [Geocoder.coordinates(markerlocation).join(",")], 
    :sensor => true, 
    :key => ENV["GOOGLE_API_KEY"] 
    } 
query_string = URI.encode_www_form(params) 
image_tag ... 
関連する問題