Rails 4.1.16或4.2.7
让我们看看,例如,我们有
class Foo < ActiveRecord::Base
validate :name, presence: true
end
然后在IRB我们将得到
Foo.create # => validation error
Foo.transaction{ Foo.create } # COMMIT
我可以弄清楚,事务块中没有raise
,这意味着它将被提交(当然我可以使用create!
,但它不会取消问题)。但验证失败了!恕我直言,这种行为并不陌生。
你能说清楚,为什么用这种方式制作?在这种情况下,我可能不明白一些具体的内容吗?
如果你知道如何使ActiveRecord
大声失败,并且对命令和命令没有任何意义,那将是完美的。
谢谢!