Domanda

Sto costruendo un programma di registrazione di tempo. Gli utenti possono lavorare su un progetto, e voglio visualizzare in un grafico il numero di ore ogni utente ha lavorato su un progetto, diciamo, ogni mese. Il plugin grafico funziona in questo modo:

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

Questo aggiunge una nuova linea nel grafico.

La mia domanda è come scorrere tutti i miei utenti e per ogni grado di riempire una nuova serie con i dati dal database?

È stato utile?

Soluzione

In seguito al Pesto sarebbe bello utilizzare iniettare.

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

Lo stesso codice, solo non ha una @series = []

Altri suggerimenti

Non ho idea di come si genera tutti i dati per Serie.new, ma si può iniziare con questo:

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

Questo aggiungerà tutti gli oggetti Serie aggiunti ad un array.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top