多谢!好像懂了!先保存了 user_with_same_email,再看 user 合不合理。
不对啊,莫非这里的 dup 重写过?为什么复制对象的方法有 save 功能?
额,是我看漏了,书中有句话:
我们使用 @user.dup 方法创建一个和 @user Email 地址一样的用户对象,然后存储这个用户,因为数据库中的 @user 已经占用了这个 Email 地址,所以不能成功存入,无法得到一个合法的用户记录。
我以为 dup 只有复制的意思,原来 dup 还有 save 功能。