मुझे मॉडल ऑब्जेक्ट में सभी संबंधित_to एसोसिएशन को सूचीबद्ध करने और उनके माध्यम से पुनरावृत्त करने की आवश्यकता है। क्या इसे करने का कोई तरीका है?क्या सभी संबंधित_तो एसोसिएशन सूचीबद्ध करने का कोई तरीका है?
29
A
उत्तर
30
आप कक्षा के reflections
हैश का उपयोग करने के लिए इसका उपयोग कर सकते हैं। वहाँ और अधिक सरल तरीके हो सकते हैं, लेकिन यह काम करता है:
# say you have a class Thing
class Thing < ActiveRecord::Base
belongs_to :foo
belongs_to :bar
end
# this would return a hash of all `belongs_to` reflections, in this case:
# { :foo => (the Foo Reflection), :bar => (the Bar Reflection) }
reflections = Thing.reflections.select do |association_name, reflection|
reflection.macro == :belongs_to
end
# And you could iterate over it, using the data in the reflection object,
# or just the key.
#
# These should be equivalent:
thing = Thing.first
reflections.keys.map {|association_name| thing.send(association_name) }
reflections.values.map {|reflection| thing.send(reflection.name) }
16
Thing.reflections.collect{|a, b| b.class_name if b.macro==:belongs_to}.compact
#=> ["Foo", "Bar"]
निश्चित रूप से
, आप पास कर सकते हैं: has_many, या किसी अन्य संघों भी
34
आप प्रतिबिंब से reflect_on_all_associations विधि का उपयोग कर सकते के लिए उदाहरण:
Thing.reflect_on_all_associations(:belongs_to)
संबंधित मुद्दे
- 1. क्या पाइथन में सभी उपलब्ध ड्राइव अक्षरों को सूचीबद्ध करने का कोई तरीका है?
- 2. क्या सभी समय बहिष्कृत करने का कोई तरीका है?
- 3. क्या एक्लिप्स का उपयोग कर किसी निश्चित वर्ग के बराबर() की सभी कॉल सूचीबद्ध करने का कोई तरीका है?
- 4. क्या ग्रैडल में कार्य निर्भरताओं को सूचीबद्ध करने का कोई तरीका है?
- 5. क्या पीपी निर्भरताओं/आवश्यकताओं को सूचीबद्ध करने का कोई तरीका है?
- 6. क्या पैकेज में पायथन मॉड्यूल के नाम सूचीबद्ध करने का कोई मानक तरीका है?
- 7. क्या नेटबीन संपादक संकेतों को सूचीबद्ध करने का कोई तरीका है?
- 8. क्या रूबी ईआरबी टेम्पलेट में उपलब्ध चर सूचीबद्ध करने का कोई तरीका है?
- 9. क्या कोई लेबल अक्षम करने का कोई तरीका है?
- 10. क्या ऐसा करने का कोई तरीका है?
- 11. क्या स्थानीय निर्देशिका की सामग्री को ftp में सूचीबद्ध करने का कोई तरीका है?
- 12. क्या पिका के माध्यम से खरगोश में कतारों को सूचीबद्ध करने का कोई तरीका है?
- 13. क्या कोई संदर्भ पता प्राप्त करने का कोई तरीका है?
- 14. क्या कोई जेड-इंडेक्स सर्कल करने का कोई तरीका है?
- 15. क्या पाइथन कक्षा में सभी कार्यों को लूप करने और निष्पादित करने का कोई तरीका है?
- 16. क्या प्राइम्स सूचीबद्ध करने के लिए कोई पाइथन लाइब्रेरी है?
- 17. क्या स्थानांतरित करने/ट्रंक करने का कोई साफ तरीका है?
- 18. क्या कोई फ़ाइल प्रकार एसोसिएशन लेने के लिए "UserChoice" रजिस्ट्री कुंजी प्रोग्रामेटिक रूप से सेट करने का कोई तरीका है?
- 19. क्या गिसिस ग्रैफर को काम करने का कोई तरीका है?
- 20. क्या एसिंक विधि का परीक्षण करने का कोई तरीका है?
- 21. क्या httpwebrequest का निपटान करने का कोई सही तरीका है?
- 22. क्या PHP का एफ़टीपी शुरू करने का कोई तरीका है?
- 23. क्या gif फ़ाइलों को सिंक करने का कोई तरीका है?
- 24. क्या पीईडीईवी में आरईपीएल प्राप्त करने का कोई तरीका है?
- 25. SQL सर्वर 2000 डेटाबेस पर खुले लेनदेन सूचीबद्ध करने का कोई तरीका है?
- 26. टर्मिनल में गिट रिपॉजिटरीज को सूचीबद्ध करने का कोई तरीका है?
- 27. क्या कॉल को कैश करने का कोई तरीका है?
- 28. क्या फॉर्म प्रतिक्रिया को अनदेखा करने का कोई तरीका है?
- 29. क्या जावास्क्रिप्ट में नेमस्पेसिंग करने का कोई "संक्षिप्त" तरीका है?
- 30. क्या ओपनिड को लागू करने का कोई आसान तरीका है?
डॉप किया गया! अच्छा ....! –