1

私には、Customer各顧客が多くの仕事をしているモデルがあります。

class Customer < ActiveRecord::Base
  has_many :jobs
end

class Job < ActiveRecord::Base
  belongs_to :customer

  def self.unbilled
    finished.uninvoiced # these are other scopes on Job
  end
end

Customer未請求の仕事をしているすべての顧客のリストを返すスコープを定義するにはどうすればよいですか?

4

1 に答える 1

4

スコープをマージできる場合があります。

class Customer < ActiveRecord::Base
  has_many :jobs

  scope :freeloaders, joins(:jobs).merge(Job.unbilled)
end
于 2012-09-28T02:40:34.340 に答える