我假設您正試圖在最近7天內顯示新的用戶數。如果是這樣你可以做以下
控制器代碼
# declare a struct to hold the results
UserCountByDate = Struct.new(:date, :count)
def report
@user_counts = User.count(:group => "DATE(created_at)",
:conditions => ["created_at >= ? ", 7.days.ago],
:order => "DATE(created_at) ASC"
).collect do |date, count|
UserCountByDate.new(date, count)
end
end
查看代碼
<div id="chart"></div>
<%= Seer::visualize(
@user_counts,
:as => :column_chart,
:in_element =>'chart',
:series => {
:series_label => 'date',
:data_method => 'count'
},
:chart_options => {
:height => 300,
:width => 100 * @user_counts.size,
:is_3_d => true,
:legend => 'none',
:colors => "[{color:'#990000', darker:'#660000'}]",
:title => "New users in last 7 days",
:title_x => 'date',
:title_y => 'count'
}
)
-%>
的data_method
應該存在作爲輸入的所述陣列的每行中圖表。 ActiveRecord count
方法返回一個散列,將其轉換爲響應date
和count
方法的struct
的數組。
我想我跟着你。我非常感謝幫助。我是那些能夠完成某些事情的人中的一員,但是當我進入雜草時,缺乏專業訓練和經驗顯示:-) 我會讓你知道它是怎麼回事。 – 2010-03-14 14:55:40
明亮......釘住它。 我很喜歡你的代碼,但需要花一些時間閱讀,以確保我瞭解計數並完全收集方法。 非常感謝...我真的很感激它。 – 2010-03-14 19:08:53