Spree::Product.create(exclamation mark) 方法中的感叹号是什么?

What is the exclamation mark in Spree::Product.create(exclamation mark) method?

我 运行 发现了 Spree 的一些问题并看到了 this code,其中提到了 Spree::Product.create!(而不是没有 !Spree::Product.create

我想了解这两种方法的区别。

bang 版本(例如 Spree::Product.create!)如果记录无效则引发异常。非 bang 版本不会:Spree::Product.create return false.

参考:http://edgeguides.rubyonrails.org/active_record_validations.html#when-does-validation-happen-questionmark