今天跟着 railstutorial 练习注册页面,不知道做了啥之后,save 之后 email 会丢失...而且受影响的只有 email 这个属性,TDD 测试里面也写了 email 必须存在,Test 也能过,而且还存进去了... 如果尝试不填 email,则是无法保存。 也没有报错,就有点晕。 又不想啥都没搞懂,就直接又从 0 开始。希望大佬们能够稍微提示一下。
https://github.com/cdroad/Railstutorial/tree/sign-up
https://github.com/cdroad/Railstutorial/blob/sign-up/app/models/user.rb#L2 引起的
email.downcase! => nil # 改成 email.downcase => "[email protected]"
根據 http://guides.rubyonrails.org/active_record_callbacks.html#callbacks-overview before_save 會在 validation 之後執行,所以你的驗證才沒有噴錯。
before_save
validation
太太太太!!! 感谢了!