给定“位置”模型,其中has_many'标签'(标签),找到具有特定标签列值的所有具有关联(标签)记录的位置

时间:2013-08-16 20:33:07

标签: ruby-on-rails join include has-and-belongs-to-many

所以我试图找到所有标签名为“school”的地点。位置has_many标签和标签has_many位置通过连接表访问:通过模型方法

class Location < ActiveRecord::Base
  has_many :location_tags
  has_many :locations, :through => :location_tags
end

class LocationTag < ActiveRecord::Base
  belongs_to :location
  belongs_to :tag
end

class Tag < ActiveRecord::Base
  has_many :location_tags
  has_many :locations, :through => :location_tags
end

所以那些是我的模特。我知道解决方案将涉及includesjoins或其他类似的行

2 个答案:

答案 0 :(得分:1)

Tag.where(:name => 'school').locations

答案 1 :(得分:0)

知道了。

Location.where(query_stuff).includes(:tags).where(:tags => { :name => "school" })