سؤال

أنا أقوم ببناء تطبيق للاختبارات المعرفية في القضبان.
لدي عدد من الاختبارات (Quiz الكائنات) لزوار بلدي. في الصفحة الرئيسية، أريد إظهار اختبارات جاهزة للاستهلاك فقط: يجب أن يكون لديهم عدد من الأسئلة وعدد من الإجابات المحتملة.
بالطبع يمكنني الاستعلام عن SQL، أو إنشاء طريقة فئة إعادة محاولة جميع الكائنات Quiz.questions.size > 1 && Quiz.answer.size > 1وبعد لا يزال، أود طريقة أكثر أناقة / مجردة.
هل هناك طريقة للاستعلام لها طريقة "جاهزة" تعمل كما لو كانت طريقة activerecord، حتى أتمكن من الاتصال Quiz.find_all_by_ready(1) و ضع ready في أي حالة مسابقة؟ التخزين المؤقت هو احتمال، كنت أتساءل عما إذا كان هناك بديل ديناميكي. كيف ستحل القضبان Guru المشكلة؟

هتافات،
دافيد

هل كانت مفيدة؟

المحلول

باستخدام مزيج من named_scope والعديد من كاشف يمكنك القيام بشيء مثل هذا:

class Quiz < AR:B
    named_scope :ready, :conditions => ['quizes.questions_count > 0 AND quizes.answers_count > 0']
end

@quizes = Quiz.ready

آمل أن يساعد هذا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top