문제

시간 등록 프로그램을 구축하고 있습니다. 사용자는 프로젝트를 수행 할 수 있으며 매월 각 사용자가 프로젝트에서 몇 시간 동안 작업했는지 차트를 표시하고 싶습니다. 차트 플러그인은 다음과 같이 작동합니다.

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

이것은 그래프에 새로운 줄을 추가합니다.

내 질문은 모든 사용자를 어떻게 처리하고 각각에 따라 데이터베이스의 데이터로 새 시리즈를 채울 수 있습니까?

도움이 되었습니까?

해결책

페스토에 대한 후속 조치는 주입을 사용하는 것이 더 좋습니다.

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

동일한 코드는 @series = []가 없습니다.

다른 팁

Serie.new 용 모든 데이터를 어떻게 생성하는지 모르겠지만 다음을 사용하여 시작할 수 있습니다.

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

이렇게하면 추가 된 세리에 객체를 배열에 추가합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top