मुझे यकीन है कि यह पहले से ही पूछा गया है, लेकिन मुझे जवाब नहीं मिला।रेल दृश्यों में शून्य से बचें
मेरे पास एक प्रोजेक्ट मॉडल है, जिसमें मेरे क्लाइंट मॉडल के साथ belongs_to
संबंध है। एक ग्राहक का नाम होता है, लेकिन एक प्रोजेक्ट में क्लाइंट की आवश्यकता नहीं होती है।
मेरी नजर में, मैं इस तरह कोड मिल गया है:
<%=h project.client && project.client.name %>
क्योंकि अगर परियोजना एक ग्राहक नहीं है तो project.client.name
एक्सेस करते समय NoMethodError (nil
का कारण बनता है एक विधि कहा जाता है नहीं है name
)।
सवाल यह है कि क्या इस तरह की नील जांच को देखने में स्वीकार्य है, या क्या मुझे इसके चारों ओर एक और तरीके की तलाश करनी चाहिए?
मैं उसे भूल गया ... :) हालांकि, जब भी आप 5-6 मॉडल गहरे नीचे जा रहे हैं तो यह अभी भी बोझिल हो जाता है। :( – DGM
http://en.wikipedia.org/wiki/Law_of_Demeter – Reactormonk
@ टास आप डेमेटर के कानून के बारे में सही हैं, लेकिन मुझे लगता है कि इसे लागू करने का सही तरीका नहीं है, कृपया नीचे मेरी पोस्ट देखें। – dombesz