在我的應用程序有模式Campaign
& Map
:Ruby on Rails的 - 添加morris.js正確的協會
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
在我Map
模型中,我使用is_impressionable
自帶的安裝impressionist gem
&我已添加counter_cache
以及將更新我的impressions_count
每次訪問(在我的maps
表中)。
在我campaigns#show
觀點,我試着用morris.js添加圖表maps impressions
(在我的應用程序添加了所有需要的文件,並可以看到圖表)。
在我的圖表中,我想在campaign.maps
上顯示impressions
,但我在我的圖表中輸入了錯誤的數據。
所以基本上去我的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