Rubyの配列に複数のハッシュが入っているところからのvalueの取得方法

前提

Rubyにて下記のデータをxのvalueのみを一つづつ変数に入れたいです。
{"x"=>210, "y"=>55}
{"x"=>132, "y"=>65}
{"x"=>50, "y"=>55}
{"x"=>90, "y"=>115}
{"x"=>170, "y"=>115}
{"x"=>130, "y"=>165}
{"x"=>90, "y"=>215}
{"x"=>170, "y"=>215}
{"x"=>20, "y"=>185}
{"x"=>250, "y"=>185}

こちらの値はcoordinatesという変数に入っていた値を下記のようにした時に出力されました。
puts JSON.parse(formation_post_params["coordinates1"])

実現したいこと

@coordinate_xというインスタンス変数に
210 132 50 90 170・・・20 250 というふうにxのvalueだけを順に入れていきたいです

発生している問題・エラーメッセージ

下記のようにしたのですがうまくいかず、どのようにすれば良いのか分かりません

coordinates.map {|hash| hash["x"]}

該当のソースコード

Ruby

puts '------start--------' puts JSON.parse(formation_post_params["coordinates1"]) puts '-------end-------.'

terminal

------start-------- {"x"=>210, "y"=>55} {"x"=>132, "y"=>65} {"x"=>50, "y"=>55} {"x"=>90, "y"=>115} {"x"=>170, "y"=>115} {"x"=>130, "y"=>165} {"x"=>90, "y"=>215} {"x"=>170, "y"=>215} {"x"=>20, "y"=>185} {"x"=>250, "y"=>185} -------end-------.

試したこと

def create puts '------start--------' puts JSON.parse(formation_post_params["coordinates1"]) puts '-------end-------.' @coordinates = JSON.parse(formation_post_params["coordinates1"]) for i in @coordinates do @coordinates[i].values puts @coordinates end @formation_post = FormationPost.new(formation_post_params) @formation_post.save redirect_to formation_posts_path, notice: '保存しました' end

エラーが出ています。
no implicit conversion of Hash into Integer

補足情報(FW/ツールのバージョンなど)

Rails6
Docker

コメントを投稿

0 コメント