0
基本上我有一个名为ServerStatus的模型,我需要创建一个对象以传入Google图表。Rails - 为Google图表创建同一个表格中的对象
ServerStatus Schema:
# config_id :integer
# count :integer
# success :boolean
# failure :boolean
# generated_at :datetime
目的需要在格式:
data_table.add_row([ datetime, success, failure])
日期时间字段被称为generated_at
,并且success
和failure
都是布尔型,各与相关联的计数(单独字段)。
我目前做如下:
ServerStatus.find(:all, :conditions => {:config_id => options[:config_id], :success => true, :generated_at => options[:start_date].beginning_of_day..options[:end_date].end_of_day}, :order => 'generated_at ASC').each do |s|
ServerStatus.find(:all, :conditions => {:config_id => options[:config_id], :failure => true, :generated_at => options[:start_date].beginning_of_day..options[:end_date].end_of_day}, :order => 'generated_at ASC').each do |f|
data_table.add_row([ s.generated_at.in_time_zone('Pacific Time (US & Canada)'), s.count, f.count])
end
end
这样做,这样增加了该generated_at时间的两倍,因此对于:failure => true
地块不正确的图形。如何在success = true
和failure = true
之间选择所有位置,并将每个位置的计数映射到generated_at
时间,并将映射到时间时的空值考虑在内。