Pergunta

Eu estou construindo um programa de registro de tempo. Os usuários podem trabalhar em um projeto, e eu quero mostrar em um gráfico quantas horas cada usuário trabalhou em um projeto, digamos, a cada mês. O gráfico plugin funciona assim:

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

Isso acrescenta uma nova linha no gráfico.

A minha pergunta é como eu posso percorrer todos os meus usuários e para cada preenchimento uma nova série com dados do banco de dados?

Foi útil?

Solução

Como um acompanhamento para Pesto seria mais agradável de usar injeção.

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

O mesmo código, apenas não têm um @series = []

Outras dicas

Eu não tenho nenhuma idéia de como você gerar todos os dados para Serie.new, mas você pode começar a usar este:

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

Isto irá adicionar toda a Serie adicionados objetos a uma matriz.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top