मेरे पास गतिशील रूप है जिसमें मूल्यों का एक सेट है। मैंने एक आंशिक बनाया जिसमें टेक्स्ट फ़ील्ड शामिल हैं जो मैं प्रदर्शित करता हूं। उनमें से प्रत्येक के बगल में मैं पाठ का शीर्षक वाला एक लेबल प्रदर्शित करना चाहता हूं। उदाहरण के लिए पहला नाम, और अंतिम नाम पहले ज्ञात नहीं होगा। मैं इसे कैसे करूं? ऐसा लगता है कि मैं सीधे विशेषताओं तक नहीं पहुंच सकता। लेकिन जब मैं लेबल फ़ील्ड का उपयोग करता हूं, तो लेबल में परिवर्तनीय नाम वास्तविक मान प्रदर्शित नहीं होता है।फ़ील्ड_ डायनामिक लेबल
उत्तर
अच्छा! यह एक प्रतिबिंब था कि मैं रेल के लिए कितना नया हूं। आप f.object.{attr_name}
का उपयोग करके ऐसा कर सकते हैं और यह काम करता है।
आप इसका उपयोग कैसे करते हैं? आपके उदाहरण में वस्तु क्या होगी? –
f.object.{attr_name}
मेरे लिए काम नहीं किया, लेकिन f.object[:attr_name]
किया।
'f.object.first_name' या' attr_name = 'first_name'; f.object.send (attr_name) 'काम करेगा। 'f.object। {attr_name}' अमान्य रूबी वाक्यविन्यास है। – Kris
के बारे में क्या:
f.object.send(attr_name)
कि Rubyish तरीका होगा।
क्या आप इसे बेहतर समझा सकते हैं? –
सभी फॉर्म बिल्डर्स के पास 'ऑब्जेक्ट' नामक एक विधि होती है जो ऑब्जेक्ट देता है जो फॉर्म लपेटता है, आम तौर पर एक ActiveRecord मॉडल, व्यक्ति कहता है। इसके बाद हम उस व्यक्ति को एक संदेश भेजने के लिए 'प्रेषण' कहते हैं, इसलिए 'person.send (: name)' 'person.name' जैसा ही है। जैसा कि आप 'प्रेषण' का उपयोग करके देख सकते हैं, इसका मतलब है कि हमें विशेषता (जैसे last_name) को हार्डकोड करने की आवश्यकता नहीं है जिसे हम अपने लेबल के रूप में प्रदर्शित करना चाहते हैं। तो उपर्युक्त मामले में 'attr_name' कोई स्ट्रिंग हो सकता है, या तो last_name, first_name, जो कुछ भी हो। – Kris
- 1. समूह और फ़ील्ड_
- 2. डायनामिक LINQ
- 3. डायनामिक मान
- 4. डायनामिक ऑब्जेक्ट
- 5. डायनामिक कॉलम
- 6. डायनामिक साइजिंग
- 7. डायनामिक पैरामीटर
- 8. डायनामिक ऑब्जेक्ट
- 9. डायनामिक मोड
- 10. डायनामिक लिंक
- 11. रेल 3 और फ़ील्ड_ सक्रियमोडेल (टेबललेस) ऑब्जेक्ट के साथ
- 12. फ़ील्ड_ फॉर्म बिल्डर ऑब्जेक्ट के लिए शून्य है
- 13. लेबल
- 14. लेबल
- 15. लेबल
- 16. लेबल
- 17. लेबल
- 18. लेबल
- 19. लेबल
- 20. उच्च लेबल श्रेणी लेबल ओवरलैपिंग
- 21. मार्करविथ लेबल लेबल केंद्र संरेखण
- 22. जेएसएफ डायनामिक व्यू आईडी
- 23. डायनामिक क्लास नाम
- 24. डायनामिक क्लास विधि रिज़ॉल्यूशन
- 25. डायनामिक LINQ क्वेरी
- 26. स्टेटिक/डायनामिक रनटाइम लिंकिंग
- 27. डायनामिक अनाम ऑब्जेक्ट (सी #)
- 28. न्यूटॉन्सॉफ्ट JSON - डायनामिक ऑब्जेक्ट्स
- 29. डायनामिक मोडस प्रीलिंक
- 30. विकेट डायनामिक छवि यूआरएल
क्या आप यह समझाने की कोशिश कर सकते हैं कि आप बेहतर क्या हासिल करना चाहते हैं? शायद एक उदाहरण दें? मैंने आपकी मदद करने के लिए समझने की कोशिश की है लेकिन मुझे समझ में नहीं आता कि आपको क्या चाहिए। – Petros
मेरे पास एक ऑब्जेक्ट है जिसमें गतिशील फ़ील्ड {नाम, मान} के सेट के साथ एक से कई संबंध हैं। जब कोई उपयोगकर्ता गतिशील फ़ील्ड अपडेट कर रहा है, तो मैं हार्डकोड किए गए लेबल की बजाय फ़ील्ड का नाम वास्तविक लेबल के रूप में प्रदर्शित करना चाहता हूं। या एक पूर्वनिर्धारित स्ट्रिंग मान। गतिशील रूप आंशिक और सभी डेटा के अंदर है। स्निपेट्स: _form.erb <% f.fields_for: entity_values do | builder | %> <% = "entity_value_fields" प्रस्तुत करें, f => बिल्डर%> <% अंत% _entity_value_fields.erb <% = f.label: name%> {लेबल को उस मान का गतिशील नाम होना चाहिए} <% = f.text_field: मान%> ... – sebajb