In meiner Anwendung hinzufügen Ich habe Modelle Campaign
& Map
:Ruby on Rails - morris.js richtig für ein Vereinigungen
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
In meinem Map
Modell, ich bin mit is_impressionable
, die mit Installation kommt impressionist gem
& Ich habe auch counter_cache
hinzugefügt, die meine impressions_count
für jeden Besuch aktualisiert (in meiner maps
Tabelle).
In meiner campaigns#show
Ansicht, versuchen Im ein Diagramm für maps impressions
unter Verwendung morris.jshinzufügen (ich alle benötigten Dateien in meiner Anwendung hinzugefügt haben und das Diagramm sehen).
In meinem Diagramm möchte ich impressions
auf campaign.maps
zeigen, aber ich bekomme falsche Daten in mein Diagramm.
Also im Grunde, gehen Sie zu meiner impressions
Tabelle, und sum
alle Besuche, die meine campaign.maps
hat am Geben Tag.
Dies ist, was ich bis jetzt haben:
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
Meine campaigns#show
Ansicht:
= 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']
});
Als ich völlig falschen Zahlen bin erwähnt bekommen. Dies ist Abfragen in meiner Konsole:
Ich bin mir nicht sicher, was ich falsch mache.
OMG !! Danke @gwcodes, Das passiert, wenn deine Augen müde sind und du unscharf bist, haha. – Rubioli