我有一个 Tag 类,它通过与一堆其他类相关联,has_and_belongs_to_many
并且正在寻找一种简单的方法来仅返回“正在使用”的标签集合。
我正在尝试scope
如下
class Tag < ActiveRecord::Base
validates_presence_of :name
validates_uniqueness_of :name
has_and_belongs_to_many :users
has_and_belongs_to_many :widgets
# it's in_use if users.count > 0 || widgets.count > 0
scope :in_use, joins(:users).where('users.count > 0').merge(joins(:widgets).where("widgets.count > 0"))
end
但是我收到此错误-SQLException: no such column: users.count
如何最好地实现我想要的 oucome,以便我可以通过 获取所有正在使用的标签Tag.in_use
?