我真的没有想法如何查询以获取用户检查的便利设施清单属于该场所的所有特定场所。
实施例。我有一个显示设施的复选框列表,如果我检查游泳池,台球池,健身房和迪斯科舞厅它将显示属于该设施的场地列表。
我的关联是这样的:
模型
venue
categorization
amenity
协会
Venue.rb
has_many :categorizations
has_many :amenities, through: :categorizations
Amenity.rb
has_many :categorizations
has_many :venues, through: :categorizations
Categorization.rb
belongs_to :venue
belongs_to :amenity
答案 0 :(得分:0)
试试这个:
@amenity = Amenity.find(id)
@venues = @amenity.venues
答案 1 :(得分:0)
如果您有多种设施,想要找到所有场地,您可以这样做:
selected_amenity_ids = [1,2,3]
@venues = Venue.joins(:amenities).where(:amenities => {:id => selected_amenity_ids})
这将产生一个带有两个INNER JOINS的SQL查询。