चयन करें जहां शून्य या रिक्त नहीं है


80

मैंने एक मॉडल को संशोधित किया है इसलिए इसमें एक नया क्षेत्र शामिल है, जैसे ...

field :url, :type => String

मैं एक्टीमेडिन का उपयोग करता हूं, इसलिए जब मैं एक नई प्रविष्टि बनाता हूं तो @model.urlखाली होती है, और स्कीमा बदलने से पहले बनाई गई प्रविष्टियों में यह शून्य होता है। मैं दोनों का चयन कैसे करूँ? मैं प्रयास कर चुका हूं:

# Returns nils and strings
Model.where(:url.ne => "").count 

# Returns strings and ""
Model.where(:url.ne => nil).count

# Returns strings, nils and ""
Model.where(:url.ne => ["", nil]).count 

या, अगर इस तरह के परिदृश्य के लिए सबसे अच्छा अभ्यास है तो कृपया मुझे बताएं।

जवाबों:


85

प्रयत्न

Model.where(:url.nin => ["", nil]).count

यह तब भी काम करता है url = nil


मैं सहमत हूं, यह वास्तविक उत्तर है और इस प्रश्न का स्वीकृत उत्तर होना चाहिए।
— क्विन

यदि आप ऐसी प्रविष्टियों की जाँच करना चाहते हैं जहाँ कोई क्षेत्र शून्य नहीं है:Model.where(:field.ne=>nil)
— एकस्टीन


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.