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
This commit is contained in:
Michael Koziarski
2007-08-28 20:44:51 +00:00
parent 5f163d256c
commit 016947ceed
2 changed files with 7 additions and 1 deletions

View File

@@ -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!

View File

@@ -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! }