Ruby on rails 我的循环跳过空数据

Ruby on rails 我的循环跳过空数据,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个循环问题。 我想收集每个月每个项目的名称计数 这段代码跳过值为空的变量,但我需要这些值。 下面是一些表格 Name id int date date item_id int 所以我需要循环它们并将其放入一个数组中 @names = Name.find(:all) @list=Array.new @names.each do |e| @list << Name.count(:all,:conditions=>["item_id = ? and DATE F

我有一个循环问题。 我想收集每个月每个项目的名称计数 这段代码跳过值为空的变量,但我需要这些值。 下面是一些表格

Name
  id int
  date date
  item_id int
所以我需要循环它们并将其放入一个数组中

@names = Name.find(:all)
@list=Array.new
@names.each do |e|
 @list << Name.count(:all,:conditions=>["item_id = ? and DATE FORMAT(date,%M) = ?",e.item_id,date],:group =>DATE FORMAT(date,%m),:order=>"date ASC")
end
因此,对于每个计数为空的项,它都不会进入数组。
如何包含它们?

通过选择ID或nil ID来包含空白/nil ID


nil/empty是结果计数。不是指项_id。假设我有项_id=1、2和3的名称。并且没有项_id=2的名称。因此在@list中只有两个结果,比如[[01,2],[08,3]]。我希望我能有一种方法将项目id描述也放在数组中,以使事情更清楚。
:conditions => ["(item_id = ? OR item_id = ?) and DATE FORMAT(date,%M) = ?", e.item_id, nil, date]
@list << Name.count(
  :all,
  :conditions=>["item_id = ? and DATE FORMAT(date,%M) = ?",e.item_id,date],
  :group =>DATE FORMAT(date,%m),
  :order=>"date ASC"
) || nil