Проверка ActiveRecord :: Base.transaction отсутствует

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громко провалиться, не чувствуя! (Удар) по команде и команде.

Спасибо!

ruby-on-rails,activerecord,

0

Ответов: 0

Проверка ActiveRecord :: Base.transaction отсутствует

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громко провалиться, не чувствуя! (Удар) по команде и команде.

Спасибо!

00рубин-на-рельсы, ActiveRecord,
Похожие вопросы