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