を介して他の多くのクラスに関連付けられている 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
使用中のすべてのタグを経由して取得できるように、希望する結果を達成するにはどうすればよいTag.in_use
ですか?