Ruby on rails 将中的嵌套模型集合筛选为rails中的_json

Ruby on rails 将中的嵌套模型集合筛选为rails中的_json,ruby-on-rails,ruby-on-rails-3,json,Ruby On Rails,Ruby On Rails 3,Json,我有两种型号: class Calendar < ActiveRecord::Base has_many :events end class Event < ActiveRecord::Base belongs_to :calendar end 但我还需要过滤事件,例如: where(:name => 'bla') 我该怎么做?到目前为止,我的解决方案是手动将每个日历转换为散列,过滤事件并将其转换为散列,然后将事件附加到日历散列,最后转换为_json。但我希望有一

我有两种型号:

class Calendar < ActiveRecord::Base
  has_many :events
end

class Event < ActiveRecord::Base
  belongs_to :calendar
end
但我还需要过滤事件,例如:

where(:name => 'bla')

我该怎么做?到目前为止,我的解决方案是手动将每个日历转换为散列,过滤事件并将其转换为散列,然后将事件附加到日历散列,最后转换为_json。但我希望有一个更好的方法。

我认为这应该有效:

Calendar.includes(:events).where('events.name' => 'bla').to_json(:include => :events)

更新:简化了我的答案。你似乎不需要
所有的
Calendar.includes(:events).where('events.name' => 'bla').to_json(:include => :events)