Ruby on rails 在每个循环中仅显示活动(布尔)项

Ruby on rails 在每个循环中仅显示活动(布尔)项,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,这是我的循环。在我的区域页面上,我显示了所有有活动、事件等的城市 - @cities.each do |city| %li %h4.h6.icon_mappoint = link_to city.name, region_city_path(@region, city) %ul - city.events.each do |thing| %li = link_to event.name, regi

这是我的循环。在我的区域页面上,我显示了所有有活动、事件等的城市

- @cities.each do |city|
    %li
     %h4.h6.icon_mappoint
      = link_to city.name, region_city_path(@region, city)
       %ul
         - city.events.each do |thing|
         %li
          = link_to event.name, region_city_event_path(@region, city, event)
       %ul
         - city.activities.each do |activity|
         %li
         = link_to activity.name, region_city_activity_path(@region, city, activity)
每个事件和活动模型在数据库中都有一个名为active的属性。(布尔值)。并且只希望在视图中显示活动的事件和活动

我的控制器现在看起来像这样

def show
    @region = Region.find(params[:id])
    @cities = @region.cities
end
模型

region has_many cities 
city has_many events, activities  

如何仅显示活动事件,每个循环中的活动?

而不是
city.events.each
使用
city.events.select{x | x.active}。each
而不是
city.events.each
使用
city.events.select{x | x.active}。如果向
事件
活动
模型添加范围,则每个

scope :active, where(:active => true)
你可以像这样写你的观点

city.events.active.each do |thing|


如果向
事件
活动
模型添加范围

scope :active, where(:active => true)
你可以像这样写你的观点

city.events.active.each do |thing|


谢谢您还知道如何将活动事件和活动组合到一个循环中吗。例如,将每个城市的所有活动项目存储在@active_items?中,谢谢。您还知道如何将活动事件和活动组合到一个循环中吗。举例来说,将每个城市的所有活动项目存储在@active\u items中?谢谢,您还知道我如何将活动事件和活动组合到一个变量中,如@events\u activities?谢谢,您还知道我如何将活动事件和活动组合到一个变量中,如@events\u activities?