Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过RubyonRails数组循环的简单方法_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 通过RubyonRails数组循环的简单方法

Ruby on rails 通过RubyonRails数组循环的简单方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,有人能给我指出一个正确的方向,关于循环数组并提取所需的值。这给我的理解带来了问题: array = [{"response_message"=>nil, "response_client_message"=>nil, "response_customer_message"=>nil, "closed"=>true, "updated_at"=>2012-05-30 13:20:49 UTC, "created_at"=>2012-05-30 13:20:29

有人能给我指出一个正确的方向,关于循环数组并提取所需的值。这给我的理解带来了问题:

array = [{"response_message"=>nil, "response_client_message"=>nil, "response_customer_message"=>nil, "closed"=>true, "updated_at"=>2012-05-30 13:20:49 UTC, "created_at"=>2012-05-30 13:20:29 UTC, "token"=>"2fda85eab962fa6e27850605f2f948ca", "price"=>"$24.00", "amount"=>#<BigDecimal:7fa3f4485428,'0.24E2',9(18)>, "currency_code"=>"USD", "metadata"=>"{\"xxx\": 5, \"xxx\": 250, \"xxx\": true, \"support\": { \"email\": true, \"phone\": false } }", "line_items"=>[{"amount"=>#<BigDecimal:7fa3f4482fe8,'0.24E2',9(18)>, "notes"=>nil, "currency_code"=>"USD", "description"=>"1 day", "price"=>"$24.00", "feature_level"=>"{\"hotspots\": 5, \"vouchers\": 250, \"customizable_logins\": true, \"support\": { \"email\": true, \"phone\": false } }", "metadata"=>"{\"hotspots\": 5, \"vouchers\": 250, \"customizable_logins\": true, \"support\": { \"email\": true, \"phone\": false } }"}]}]
但这给了我一个[]

如何循环并提取这些值? 我还需要了解如何将行\u项数组取出

谢谢

传递字符串而不是符号


传递字符串不是一个符号

不完全清楚您在寻找什么,但如果您想从该数组中提取值,请尝试映射:

array.map { |elem| elem["updated_at"] }

这将返回所有“已更新”值的列表。

不完全清楚您的目标,但如果要从该数组中提取值,请尝试
map

array.map { |elem| elem["updated_at"] }

这将返回所有“更新的_at”值的列表。

如果要通过数组循环并收集更新的_at值,则应使用collect/map方法。 在您的示例中,您引用的是elem[:updated_at],它与elem[“updated_at”]不同


如果要循环遍历数组并收集更新的_at值,则应使用collect/map方法。 在您的示例中,您引用的是elem[:updated_at],它与elem[“updated_at”]不同

array.map { |elem| elem["updated_at"] }
array.collect{|elem| elem["updated_at"]}