This isn't done in a transaction, therefore raising an exception on one item will not destroy the rest, with potentially bad side effects. OTOH, I'd be wary introducing a transaction here too (would Rails be assuming too much by doing so?) Perhaps this is a reason why this method wasn't originally added.

(Not categorically opposed to this, just a note. Interesting to see what others think).