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 動態查詢器