现在是当用户注册的时候 user 表里的 location 字段设置的非空 而表单里没有这一项 在插入数据库的会报错 看 ruby-china 好像在数据库设置的时候不必填的字段是允许为空值 我现在的处理方案是 before_save { |user| user.localtion = localtion.nil? ? '' : localtion } 感觉有点傻-.- rails 里是否可以自动的讲表单里没有的字段变成''
。。那设非空有什么意义啊
直接设置数据库 location 字段的默认值为""吧,这样代码里不用特别处理了
:default => "" 这样可以么 -.-
:default => ""
#1 楼 @jjym 难道你用的是 Oracle? 只有 Oracle 默认行为才是NULL和""是一样的
NULL
""
#2 楼 @holin #3 楼 @hsming 对哦 这样也是可以的 谢谢