From 016947ceedfb43a864ea4ef57d97366ab2825785 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Tue, 28 Aug 2007 20:44:51 +0000 Subject: Make sure create! raises errors on validation when creating multiple records. [hasmanyjosh] Closes #8952 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7361 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/validations.rb | 2 +- activerecord/test/validations_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/validations.rb b/activerecord/lib/active_record/validations.rb index dc8541c574..f3d9e20360 100755 --- a/activerecord/lib/active_record/validations.rb +++ b/activerecord/lib/active_record/validations.rb @@ -850,7 +850,7 @@ module ActiveRecord # so an exception is raised if the record is invalid. def create!(attributes = nil) if attributes.is_a?(Array) - attributes.collect { |attr| create(attr) } + attributes.collect { |attr| create!(attr) } else object = new(attributes) object.save! diff --git a/activerecord/test/validations_test.rb b/activerecord/test/validations_test.rb index 19bca29fd8..847e11a747 100755 --- a/activerecord/test/validations_test.rb +++ b/activerecord/test/validations_test.rb @@ -95,6 +95,12 @@ class ValidationsTest < Test::Unit::TestCase end end + def test_exception_on_create_bang_many + assert_raises(ActiveRecord::RecordInvalid) do + Reply.create!([ { "title" => "OK" }, { "title" => "Wrong Create" }]) + end + end + def test_scoped_create_without_attributes Reply.with_scope(:create => {}) do assert_raises(ActiveRecord::RecordInvalid) { Reply.create! } -- cgit v1.2.3