我想得到所有场所,其中设施列表属于铁路场所

时间:2015-01-20 04:57:42

标签: ruby-on-rails ruby routes associations

我真的没有想法如何查询以获取用户检查的便利设施清单属于该场所的所有特定场所。

实施例。我有一个显示设施的复选框列表,如果我检查游泳池,台球池,健身房和迪斯科舞厅它将显示属于该设施的场地列表。

我的关联是这样的:

模型

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

2 个答案:

答案 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查询。