新手问题 存在的数据,保存到 db 就变成 nil 了。

cdroad-github · 2018年04月26日 · 最后由 cdroad-github 回复于 2018年04月26日 · 1242 次阅读

今天跟着 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 之後執行,所以你的驗證才沒有噴錯。

hong_xin 回复

太太太太!!! 感谢了!

cdroad-github 关闭了讨论。 01月13日 17:21
需要 登录 后方可回复, 如果你还没有账号请 注册新账号