كيفية عزل/استرداد/حساب مجموعة فرعية من السجلات التي تم إرجاعها في القضبان
-
01-10-2019 - |
سؤال
أنا أكتب لوحة معلومات تقارير لتطبيق Rails. لوحة القيادة مخصصة لبيانات المستخدم ، وهي تعمل حاليًا على عدد من الاستعلامات المحددة لإنشاء التقارير الأربعة أو الخمسة على الصفحة. أنا متأكد من أن هناك طريقة أكثر كفاءة للقيام بذلك. كيف يمكنني أن أقوم بإنشاء طريقة وحدة التحكم بحيث يتم تشغيل استفسار واحد فقط ، ثم يقوم بتوزيع/تقسيم المجموعات الفرعية اللازمة للتقارير الفردية؟
على سبيل المثال ، يتمتع المستخدم بنوع الجنس وعمر ومدى دخل. بدلا من القيام
@men = User.count(:conditions => ['gender = ?', 'm']
@women = User.count(:conditions => ['gender = ?', 'f']
@age = User.count(:conditions => ['age_range = ?', 1]
etc.
هل يمكنني فعل واحد فقط
User.find(:all, :select => 'id,gender,age_range,income_range')
ثم تحليل ما أحتاجه؟
أي مساعدة موضع تقدير.
شكرًا لك.
المحلول
أعتقد أنه يمكنك القيام بذلك
@users = User.all
@men = @users.select{|u| u.gender == 'm'}.size
@women = @users.select{|u| u.gender == 'f'}.size
@age = @users.select{|u| u.age_range == 1}.size
لا تنتمي إلى StackOverflow