ich ein Modell so modifiziert, dass es ein neues Feld, wie ... enthältauswählen, wo nicht null oder leer in mongoid
field :url, :type => String
ich activeadmin verwenden, so dass, wenn ich einen neuen Eintrag @model.url
ist leer und in Einträgen, die vor dem Ändern des Schemas erstellt wurden, ist es null. Wie wähle ich beide aus? Ich habe versucht:
# 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
Oder, wenn es eine Best Practice für diese Art von Szenario gibt, lass es mich wissen.
Dies sollte akzeptiert werden, es funktioniert sogar mit 'url == nil'. –
Ich stimme zu, das ist die wirkliche Antwort und sollte die akzeptierte Antwort auf diese Frage sein. – quinn
Wenn Sie nur nach Einträgen suchen möchten, bei denen ein Feld nicht null ist: 'Model.where (: field.ne => nil)' – Ekkstein