جمعيات ريلز، وnilClass، ومحاولة، وقانون ديميتر
-
27-10-2019 - |
سؤال
لذلك لا أعرف أبدًا ما يجب فعله هنا.
لنفترض أن لديك طلبًا يحتوي على عضو واحد.
إذا قمت بالاتصال على سبيل المثال، my_order.member.first_name حيث تم حذف هذا العضو المرتبط، فيمكنك حدوث خطأ nilClass.يمكنني تنفيذ my_order.member.try(:first_name)..ولكن هذا يبدو وكأنه حل غبي.لا أريد التمسك بمجموعة من المحاولات في كل مكان.
لقد قرأت [هذه المقالة] عن كائنات Nil: http://robots.thinkbot.com/post/8181879506/if-you-gaze-into-nil-nil-gazes-also-into-you?
أشياء جيدة.لكنني أعتقد أن القضبان لديها شيء مفيد لهذا لأنها شائعة جدًا ..بدلاً من كتابة nilClass المخصص الخاص بك أو شيء من هذا القبيل.
المحلول
يمكنك استخدام مندوب, ، وينتهي بك الأمر my_order.first_name
لا تنتمي إلى StackOverflow