2017-01-17 21 views
0

Railsの使用4.2。期待ハッシュからのブロック割り当ての呼び出し

place_details = { 
    name: "abc", 
    address_components: [ 
    { long_name: "Nevada", short_name: "NV", types: ["administrative_area_level_1", "political"] }, 
    { long_name: "United States", short_name: "US", types: ["country", "political"] } 
    ] 
} 

place.tap do |pl| 
    pl.name = place_details.dig(:name) 
    place_details.dig(:address_components).each do |component| 
    pl.component.dig(:types).first = component[:long_name] 
    end 
end 

place.tap do |pl| 
    pl.name = "abc" 
    pl.administrative_area_level_1 = "Nevada" 
    pl.country = "United States" 
end 

ラインpl.component.dig(:types).first = component[:long_name]は明白な理由のため、動作しません、私は以下のものを持っています。

は、私が欲しい:

  • 能力が値
  • を割り当てるためにのみtypesに最初の受け取り:administrative_area_level_1

答えて

0

country私が代わりに記号を使用しています。

place.tap do |pl| 
    pl[:name] = place_details.dig(:name) 
    place_details.dig(:address_components).try(:each) do |component| 
    pl[component.dig(:types)[0].to_sym] = component[:long_name] 
    end 
end 
0
place_details.tap do |place| 
    place.try(:[], :address_components).try(:each) do |address| 
    place[address.try(:[], :types).try(:first)] = address.try(:[], :long_name) 
    end 
    place.delete(:address_components) 
end 
関連する問題