Ruby on rails 查找存在关联记录的位置

Ruby on rails 查找存在关联记录的位置,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,如何仅选择具有关联标签记录的员工?换句话说,仅选择具有一个或多个标记记录的员工记录 class Employee < ActiveRecord::Base has_and_belongs_to_many :tags end class Tag < ActiveRecord::Base has_and_belongs_to_many :employees end 你可以用 它生成的SQL包含标记表上的和内部联接,省略了没有相关标记的表记录的员工记录。在Rails 3(可能还

如何仅选择具有关联标签记录的员工?换句话说,仅选择具有一个或多个标记记录的员工记录

class Employee < ActiveRecord::Base
  has_and_belongs_to_many :tags
end

class Tag < ActiveRecord::Base
  has_and_belongs_to_many :employees
end
你可以用

它生成的SQL包含
标记
表上的
内部联接
,省略了没有相关
标记的
表记录的
员工
记录。

在Rails 3(可能还有其他版本)中,这将不包括标记id存在的情况,但特定的标记对象已被删除。
Employee.includes(:tags).where("tags.id != nil")
Employee.joins(:tags)