मुझे यकीन है कि मैं पहले यह करने के लिए एक सुरुचिपूर्ण समाधान देखा है, लेकिन मैं काफी यह नहीं मिल रहा कर सकते हैं:सुंदर ढंग से एक नेस्टेड हैश में रिक्त मानों से निपटने
मैं एक रेल नियंत्रक जो हो सकता है या हो सकता है - निम्नलिखित हैश तत्व नहीं है:
myhash[:parent_field]
उस मूल क्षेत्र के अंदर, एक बच्चा तत्व भी खाली हो सकता है। मैं वर्तमान में (बहुत बदसूरत) विधि के माध्यम से है कि जाँच कर रहा हूँ:
if (!myhash[:parent_field] || !myhash[:parent_field][:child_field] || myhash[:parent_field][:child_field].blank?)
कौन सा काम करता है, लेकिन मैं समझ - निश्चित रूप से - वहाँ एक और अधिक सुरुचिपूर्ण तरीका हो गया है। बस दोहराते हैं:
- myhash [: parent_field] या
- मौजूद नहीं हो सकता है यह मौजूद है, तो myhash [: parent_field] [: child_field] या मौजूद हो सकता है हो सकता है नहीं
- अगर वह मौजूद है, यह खाली हो सकता है या नहीं हो सकता है।
ध्यान दें कि यह 'अपवाद उठाएगा यदि' पैरेंट' कुंजी मौजूद नहीं है। –
@AndrewMarshall नहीं यह नहीं होगा। क्या लाता है पर पढ़ें। – d11wtq
क्षमा करें, वहां दूसरे तर्क को नहीं देखा। अगर ऐसा नहीं होगा, हालांकि। –