Frage

Ich baue ein Zeitregistrierungsprogramm. Benutzer können an einem Projekt arbeiten, und ich möchte in einem Diagramm angezeigt werden, wie viele Stunden jeder Benutzer an einem Projekt gearbeitet, sagen wir mal, jeden Monat. Die Grafik-Plugin funktioniert wie folgt:

first_serie = OpenFlashChartLazy::Serie.new(
[["2008-1",100],["2008-2",120],["2008-3",130]],
{:title=>"name_of_user1",:start_date=>Time.mktime(2008,1,1),:items=>8})

Dies fügt eine neue Linie in der Grafik.

Meine Frage ist, wie kann ich eine Schleife durch alle meine Benutzer und für jeden eine neue Serie mit Daten aus der Datenbank füllen?

War es hilfreich?

Lösung

Im Nachgang zu Pesto wäre schöner sein inject zu verwenden.

@series = User.all.inject([]) do |mem, user|
  mem << OpenFlashChartLazy::Serie.new(user.foo, user.bar, user.foobarbob)
end

Die gleiche Code, nur noch tun ein @series = []

Andere Tipps

Ich habe keine Ahnung, wie Sie alle Daten für Serie.new erzeugen, aber Sie können diese ersten Schritte mit:

@series = []
users = User.find(:all)
users.each do |user|
  @series << OpenFlashChartLazy::Serie.new(blah, blah, blah)
end

Dies wird alle addierten Serie Objekte zu einem Array hinzuzufügen.

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