正しくmorris.jsを追加私が持っているモデルCampaign
& Map
:私のMap
モデルでルビー - 私のアプリケーションで団体
class Campaign < ActiveRecord::Base
has_many :maps, :dependent => :destroy
class Map < ActiveRecord::Base
is_impressionable :counter_cache => true, :unique => :request_hash
belongs_to :campaign, :counter_cache => true, touch: true
、私が使用していimpressionist gem
を取り付ける付属していますis_impressionable
&私はcounter_cache
を追加しました。これは、すべて(私のmaps
テーブル内)のimpressions_count
に更新されます。私campaigns#show
ビューで
、Imはmorris.jsを使用してmaps impressions
ためのグラフを追加しようとしている(私は自分のアプリケーションに必要なすべてのファイルを追加し、チャートを見ることができます)。
私のグラフでは、impressions
をcampaign.maps
に表示したいのですが、グラフに間違ったデータが表示されています。
基本的に私のimpressions
テーブルに行き、sum
私のcampaign.maps
が与えられた日にすべての訪問をします。
これは私が今まで持っているものです:
module CampaignsHelper
def impressions_chart_data_campaign(maps)
(7.days.ago.to_date..Date.today).map do |date|
{
created_at: date,
impressions: Impression.where("date(created_at) =?", date).where(id: maps).size
}
end
end
end
マイcampaigns#show
ビュー:
= content_tag :div, "", id: "impressions_charts_double", data: {impressions: impressions_chart_data_campaign(@campaign.maps)}
:javascript
Morris.Area({
element: 'impressions_charts_double',
data: $('#impressions_charts_double').data('impressions'),
xkey: 'created_at',
ykeys: ['impressions'],
labels: ['Impressions']
});
私は完全に間違った番号を取得しています述べたように。これは私のコンソールのクエリです:
OMG !!ありがとう@ gwcodes、これはあなたの目が疲れているときに起こり、あなたは焦点が外れているのです。 – Rubioli