2009-06-30 19 views
1

私は時間登録プログラムを構築しています。ユーザーはプロジェクトで作業することができ、各ユーザーがプロジェクトで何時間作業したかをチャートで表示したいとします。グラフのプラグインは次のように機能します。配列を埋めるループ内のループ?

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

グラフに新しい行が追加されます。

私の質問はどのように私はすべてのユーザーを介してループすることができ、それぞれのデータベースのデータで新しいシリーズを記入するのですか?

答えて

1

Pestoのフォローアップは、注射を使用する方がいいでしょう。 |セリエ|

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

同じコード、ちょうど@series = @ series.eachを行う[]

4

私はあなたがSerie.newのすべてのデータを生成する方法がわかりませんが、あなたはこれを使い始めることができます。

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

これは、アレイに追加セリエオブジェクトのすべてを追加します。

+0

が...これは明確なものを作るの洞察力のためにありがとうございましたを持っているdoesntの bar_graph.add_serie(serie) end – arcooverbeek