Ответ 1
Try
Model.where(:url.nin => ["", nil]).count
Работает даже тогда, когда url = nil
Я модифицировал модель, поэтому он включает новое поле, такое как...
field :url, :type => String
Я использую activeadmin, поэтому, когда я создаю новую запись, @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
Или, если есть лучшая практика для такого рода сценария, пожалуйста, дайте мне знать.
Try
Model.where(:url.nin => ["", nil]).count
Работает даже тогда, когда url = nil
Try
Model.where(:url.ne => "", :url.exists => true).count