Как заставить пользователей заполнить пользовательское поле, если оно пустое

Для этого конкретного вопроса, предполагая, что unanswered вопрос будет NULL в базе данных, вы можете просто заменить where.not(value: [nil]) на where(value: nil).

Вы также можете использовать where(value: [nil, ""]), что эквивалентно WHERE (something.value IS NULL OR something.value = "") в SQL, для поиска пустой строки или NULL. Я не уверен, что скорее всего будет, или если это, вероятно, изменится (с NULL на “”), если пользователь отправит пустое поле.