在Rails 5中通过哈希映射时删除表单对象哈希

时间:2018-03-09 18:43:56

标签: ruby-on-rails ruby-on-rails-5

我有产品哈希。

products = Product.all

如果满足某些条件,我想映射哈希并从哈希中删除对象。

products.map do |product|
   product.delete if product.color == red
end

但这会从数据库中删除该对象。我只想从产品哈希中删除它。

这是一个简化的例子,我可以在其中使用SQL where语句。但在我的真实例子中,这更为复杂。

1 个答案:

答案 0 :(得分:1)

您可以使用Array#reject

products.reject { |product| product.color == 'red' }

或者它与Array#select相反:

products.select { |product| product.color != 'red' }