Rails根据计数设置范围

时间:2014-08-25 16:54:35

标签: ruby-on-rails

我希望有一个基于零计数的Rails范围。

我有一个model = client。它has_many :locations

这不起作用:

scope :nolocations, where(:locations.count == 0)

会是什么?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

试试这个:

 scope :nolocations, ->  { where("locations.count == ?" 0)}

如果它不起作用,请参阅guides.rubyonrails

答案 1 :(得分:0)

我最终使用belongs_to :client, :counter_cache => true

  scope :nolocations, where(locations_count: 0)