سؤال

وأنا على بناء برنامج تسجيل الوقت. يمكن للمستخدمين العمل على المشروع، وأريد أن عرض في مخطط كم عدد ساعات العمل لكل مستخدم على المشروع، دعنا نقول، كل شهر. البرنامج المساعد المخطط يعمل مثل هذا:

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