ruby-on-rails – 如何使用belongs_to对象编写范围?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用belongs_to对象编写范围?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下型号

楷模

Job
  belongs_to :company
Company
  has_many :jobs

现在,我使用以下方法选择所有拥有已接受公司的工作:

def self.with_accepted_company
  Job.all.reject {|job| job.company.state != "accepted" }
end

但是我想使用范围并将其与其他范围一起使用.是否可以在作业模型中编写该范围?

解决方法

我会做这样的事情(从 http://guides.rubyonrails.org/active_record_querying.html)
class Job
  scope :accepted_with_active_company,->() {
    joins(:company).where('companies.state' => "accepted") 
  }
end

猜你在找的Ruby相关文章