首先我通过 new 新建一个用户对象:
  
这里我有插入邮箱!
然后我执行 save
  
然后我查看 user 对象,里面的 email 是空的:
    
下面是我的 user.rb 文件:
数据库迁移文件:
 
 

String#downcase! 方法返回值为 nil!
一般不会用 str = str.downcase! 这种方式,因为 downcase! 本身就会修改 str 的值。
self.email = email.downcase
# or
self.email.downcase!
 martin91
          
      回复
martin91
          
      回复
    十分感谢,我将那个方法注释了,发现确实如此,请问能告诉我想把邮箱在存入数据库前全部转为小写具体要怎么做,我是 rails 纯小白 
 MaiZardAyumi
          
      回复
MaiZardAyumi
          
      回复
    问题已经解决了,是那个写的回调方法返回了空,即不能 self.email=email.downcase! 楼上的回答是正确的,我忘记把问题关了,不好意思
