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 动态查找器