Rails 3从现有数组中删除项目而不进行另一次SQL调用

时间:2011-03-02 21:17:01

标签: ruby-on-rails ruby-on-rails-3

所以下面一直对我有用,但现在我需要删除一些项目以获得真实的成本和真实的销售价格。我需要删除此总和中parent_id为nil的所有项目。如何在不进行其他SQL查询的情况下执行此操作?

def total_price
  # convert to array so it doesn't try to do sum on database directly
  items.to_a.sum(&:full_price)
end

2 个答案:

答案 0 :(得分:0)

你可以做到

items.to_a.reject{|item|item.parent_id.nil?}.sum(&:full_price)

答案 1 :(得分:-1)

在数组上使用select / reject方法。