我想验证字符串属性不是nil,但允许空字符串。
如:
validates name: not_nil, allow_empty: true
答案 0 :(得分:2)
您也可以这样做:
validates :name, exclusion: { in: [nil] }
答案 1 :(得分:1)
要允许空字符串,但在活动记录验证回调中拒绝nil,请使用条件proc来有条件地要求存在属性(如果它不是nil。)
所以代码如下:
validates :name, presence: true, if: proc { name.nil? }
但是你可能想要允许null。然后不要验证。还在检查存在吗?代码为nil或空字符串。
答案 2 :(得分:1)
或者
validates :name, presence: true, allow_blank: true