条件匹配时突破循环

Jas*_*rga 1 ruby loops ruby-on-rails conditional-statements ruby-on-rails-3

这应该很简单.通过询问可能会让自己感到尴尬.:)
虽然我还是ruby/rails的新手.

如果满足条件,我想打破循环.
所有商品售出后销售完成.我希望能够使用sale.is_complete?.

class Sale < ActiveRecord::Base
  has_many :items

  def is_complete?
    items.each do |item|
      # as soon as i encounter an unsold item, i want to return false to is_complete
      # item.is_sold? will return true or false
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

saw*_*awa 7

在这种情况下,循环不是最好的方法.

def is_complete?; items.all?(&:is_sold?) end
Run Code Online (Sandbox Code Playgroud)