Ruby on rails 如何拒绝具有特定条件的数组块

Ruby on rails 如何拒绝具有特定条件的数组块,ruby-on-rails,arrays,ruby,wsdl,Ruby On Rails,Arrays,Ruby,Wsdl,这是数组。我需要拒绝具有item_id==200的数组块 :invoice_lines=>[{:amount=>"60.00", :description=>"repair call",:id=>"10138500", :item_id=>"80062", :price=>"60.0000000000"}, {:amount=>"9.83", :description=>"Tax", :id=>"10138501", :item_id

这是数组。我需要拒绝具有item_id==200的数组块

:invoice_lines=>[{:amount=>"60.00", :description=>"repair   call",:id=>"10138500", :item_id=>"80062",  :price=>"60.0000000000"}, 
{:amount=>"9.83", :description=>"Tax", :id=>"10138501", :item_id=>"200", :price=>"8.1875000000"}, 
{:amount=>"60.00",  :description=>"Wireless Router", :id=>"10138502", :item_id=>"80060", :price=>"60.0000000000"}]
我试着这样做,但没有结果

  i = 0
  num = invoice[:invoice_lines].length
  items = []
  while i < num
    if invoice[:invoice_lines][i][item_id] == 200
       invoice[:invoice_lines].delate_at(i)
    end
    i += 1
  end
i=0
num=发票[:发票\行].长度
项目=[]
而我
如果发票[:发票行][i][item\u id]==200
发票[:发票行].delate_位于(i)
终止
i+=1
终止
任何帮助都将不胜感激。

试试这个

array = []

invoice[:invoice_lines].each do |line|
  array << line unless line[:item_id] == "200"
end unless invoice[:invoice_lines].blank?

array
array=[]
发票[:发票|行]。每个do |行|

我想知道。。。可能有吗?尝试
num.reject{n}n[:item|id]=“200”}
并更改
num=invoice[:invoice_line]。长度
to
num=invoice[:invoice_line]
ruby-on-rails
标记被删除了?@Pavan是罪魁祸首,但似乎有理。@Pavan;num
拒绝!
还需要
;num
在末尾,以防删除任何元素。