मैं जानता हूँ कि where
ActiveRecord विधि करने के लिए तर्क की आपूर्ति के लिए 3 मुख्य अंकन देखते हैं:ActiveRecord OR क्वेरी हैश अंकन
- शुद्ध स्ट्रिंग
- सरणी
- हैश
के लिए and
निर्दिष्ट करना where
विधि सीधे आगे है:
# Pure String notation
Person.where("name = 'Neil' AND age = 27")
# Array notation
Person.where(["name = ? AND age = ?", 'Neil', 27])
# Hash notation
Person.where({name: "Neil", age: 27})
or
निर्दिष्ट करने के लिए where
विधि हैश सिंटैक्स के लिए मुझे स्टंप कर रहा है। क्या यह संभव है?
# Pure String notation
Person.where("name = 'Neil' OR age = 27")
# Array notation
Person.where(["name = ? OR age = ?", 'Neil', 27])
# Hash notation DOESN'T WORK
Person.where({name: "Neil" OR age: 27})
यह एक पूर्ण जवाब है। 'एलएल' उत्तर विशेष रूप से अच्छा है क्योंकि यह समझता है कि रेल 5 में जो जोड़ा जा रहा है, जैसा कि मैं समझता हूं। –
यदि आप रेल 5 की प्रतीक्षा नहीं कर सकते हैं, तो आप फीचर 4.2 के इस सुविधा का बैकपोर्ट उपयोग कर सकते हैं। 'जहां-या' मणि के रूप में अच्छी तरह से पैक किया गया है https://github.com/Eric-Guo/where-or – Rob
यदि आपकी परियोजना अभी भी रेल 3+ में है, तो आप rails_or मणि को आजमा सकते हैं: https: // github। com/khiav223577/rails_or –