Frage

Ich möchte ein rollendes Diagramm, neue Benutzer für Tag in den letzten 7 Tagen implementieren Seer mit.

Ich habe Seer installiert:

http://www.idolhands.com/ruby-on-rails/gems-plugins-and-engines/graphing-for-ruby-on-rails-with-seer

Ich kämpfe mein Gehirn um zu bekommen, wie zu implementieren.

Ich habe eine Reihe von Usern bekam ich auf Grundstück wollen:

@users = User.all (: conditions => {: created_at => 7.days.ago..Time.zone.now})

Kann nicht der richtige Weg, finden Sie in der implementieren. Data_method sie durch created_at Datum aufzurollen

Wer diese oder ähnliche mit Seer getan?

Wer schlauer als ich in der Lage, dies zu erklären, nachdem an der Seer Beispielseite suchen (oben verlinkten)?

War es hilfreich?

Lösung

Ich gehe davon aus Sie versuchen, die neue Benutzeranzahl von Tag zu zeigen, in den letzten 7 Tagen. Wenn ja, können Sie das folgende

tun

Controller-Code

# 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

Code

<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'
      }
    )
 -%>

Die data_method sollten als Eingang für das Diagramm, die in jeder Reihe der Anordnung vorhanden sein. Die ActiveRecord count Methode gibt einen Hash, der auf ein Array von struct dass reagiert auf date und count Methoden umgewandelt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top