حقل محسوب في ROR (بمثابة طريقة Activerecord)
-
20-09-2019 - |
سؤال
أنا أقوم ببناء تطبيق للاختبارات المعرفية في القضبان.
لدي عدد من الاختبارات (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
آمل أن يساعد هذا!