所以我知道爆(感嘆號)和非爆炸方法之間的區別通常是方法將修改對象本身還是返回一個單獨的修改對象,保持原始不變。Rails - 創建和創建!方法,RoR 3教程
然後,在本書的第6章中構建User模型時,我遇到了User.create
方法,該方法創建一個新模型並將其單步保存到數據庫中。在Michael Hartl的Ruby on Rails 3教程中,他寫道User.create!
方法「的工作原理與create
方法一樣...除了如果創建失敗,它將引發ActiveRecord :: Record-Invalid異常。
我很困惑。 User.create!
方法不遵循Ruby「bang-convention」還是我完全錯過了某些東西?如果他遵循慣例,如果它是一個類方法,User.create!
如何修改自己?