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


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.