如何强制用户填写自定义字段(当它为空时)

对于这个问题,假设数据库中未回答的问题为 NULL,您可以将 where.not(value: [nil]) 替换为 where(value: nil)。

您还可以使用 where(value: [nil, ""]),这在 SQL 中等同于 WHERE (something.value IS NULL OR something.value = ""),用于搜索空字符串或 NULL。我不确定哪种情况可能性更大,或者如果用户提交空字段,它是否会从 NULL 变为 “”。