次のような新しいフィールドが含まれるようにモデルを変更しました...
field :url, :type => String
Activeadminを使用しているため、新しいエントリを作成するときに@model.url
は空であり、スキーマを変更する前に作成されたエントリではnilです。両方を選択するにはどうすればよいですか?私が試してみました:
# 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
または、この種のシナリオのベストプラクティスがある場合はお知らせください。
試して
Model.where(:url.nin => ["", nil]).count
url = nil
試してください:
Model.nin(url: ['', nil])