ActiveRecord Bang() 方法
如果在发生故障时需要 ActiveRecord 方法来引发异常而不是 false
值,则可以向它们添加 !
。这是非常重要的。如果你不使用,很难发现一些例外/失败! 在他们。我建议在开发周期中这样做,以这种方式编写所有 ActiveRecord 代码,以节省你的时间和麻烦。
Class User < ActiveRecord::Base
validates :last_name, presence: true
end
User.create!(first_name: "John")
#=> ActiveRecord::RecordInvalid: Validation failed: Last name can't be blank
接受爆炸 (!
) 的 ActiveRecord 方法是: **
.create!
.take!
.first!
.last!
.find_by!
.find_or_create_by!
#save!
#update!
- 所有 AR 动态查找器