• 0

أريد الاستفسار حول كود في إطار العمل Rails؟

الكود التالي على إطار العمل Rails بلغة Ruby :

>scope :a, -> { joins(:b).where('bs.c': false) }

>scope :a, -> { joins(:b).where('bs.c = ?', false) }

ما أريد السؤال عنه، هل السطرين السابقين من الكود متساويين ولا فرق بينهما؟ أم هناك اختلاف؟

تمّ تعديل بواسطة Badraoui

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

الجملتين كلاهما تعمل نفس الوظيفة، وللتذكير هناك عدة طرق لكتابة Scope على Rails، أسردها كالآتي:

scope :a, -> { joins(:b).where(bs: { c: false }) }

scope :a, -> { joins(:b).where('bs.c' => false }) }

scope :a, -> { joins(:b).where('bs.c = ?', false) }

scope :a, -> { joins(:b).where('bs.c = :q', { q: false }) }

وشخصيا اُفضل  السطر الأول، لأنه يتيح إمكانية سرد قائمة الحقول ضمن جملة الاستعلام، دون الحاجة إلى تكرار الكود وتعقيد الكتابة.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن