Ruby on Rails访问作为param传递的数组中的对象

时间:2017-11-18 17:33:12

标签: jquery ruby-on-rails arrays ruby

我使用ajax:

从我的客户端发送一个对象数组
  $.ajax({
              type:    "POST",
              url:     "http://localhost:3000/ventas/",
              data:    {detalles: detalles},
              success: function(post){ console.log("Ok") },
              error:   function(post){ console.log(this) }
            });

在我的服务器中,我正在接收这些参数(服务器控制台的行):

Parameters: {"detalles"=>{"0"=>{"id"=>"249", "cantidad"=>"2", "importe"=>"40"}, "1"=>{"id"=>"382", "cantidad"=>"2", "importe"=>"470"}}}

现在我想访问这个数组的每个对象,这是我的尝试:

def  create
    @details= params[:detalles]
    puts @details["0"]
end

everythig没问题,但我怎样才能遍历所有对象?因为“0”是一个字符串,如果我只放0就不起作用。我如何循环@details并访问每个对象,然后访问其属性?感谢

1 个答案:

答案 0 :(得分:-2)

感谢@mudasobwa和@Fabrizio Bertoglio。 正确的答案是: for iterate对象的哈希:

<div class="page">
  <div class="container">
    <img src="https://lorempixel.com/200/200/">
    <label>text</label>
  </div>
</div>

用于迭代一组对象并访问其属性:

def create
 @details.each { |x| puts @details["#{x}"] }
end