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

これにより、グラフに新しい線が追加されます。

私の質問は、どのようにしてすべてのユーザーをループし、データベースからのデータで新しいシリーズを埋めることができるかということです。

4

2 に答える 2

4

Serie.newのすべてのデータをどのように生成するかはわかりませんが、次の方法を使用して開始できます。

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

これにより、追加されたすべてのSerieオブジェクトが配列に追加されます。

于 2009-06-30T19:55:10.013 に答える
1

Pesto のフォローアップとして、inject を使用する方が適切です。

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

@series = [] がないだけで同じコード

于 2009-06-30T20:35:28.077 に答える