Я работаю над приложением Rails 3.1.1 с панелью управления различными линейными графиками, используя Highcharts. Я реализовал пример кода в Railcast 223 (highcharts) - и все работает как положено. Но в дни, когда нет записей, массив отображает значение 0 - но я только смотрю на фактические записи линейного графика.
Это не проблема с Railscast, потому что в их выборке есть несколько записей Order каждый день. Похоже, это та же проблема, опубликованная другим пользователем (Томас) ... хотя его код не работал в моей ситуации.
Index view:
$(function () {
new Highcharts.Chart({
chart: { renderTo: 'orders_chart' },
title: { text: 'Orders by Day' },
xAxis: { type: 'datetime' },
yAxis: {
title: { text: 'Dollars' }
},
tooltip: {
formatter: function () {
return Highcharts.dateFormat("%B %e %Y", this.x) + ': ' +
'$' + Highcharts.numberFormat(this.y, 2);
}
},
series: [{
pointInterval: <%= 1.day * 1000 %>,
pointStart: <%= 3.weeks.ago.at_midnight.to_i * 1000 %>,
data: <%= (3.weeks.ago.to_date..Date.today).map { |date| Order.total_on(date).to_f}.inspect %>
}]
});
});
class Order < ActiveRecord::Base
def self.total_on(date)
where("date(purchased_at) = ?",date).sum(:total_price)
end
end
Любой вклад был бы очень признателен - новичок в рельсах и уже нашел 100 способов не работать! Спасибо!