A question of style - save vs. save!

A pseudo poll on AR error handling…

With AR, you have the choice between the following:

(1)

if thing.save
go_for_it
else
handle_the_error
end

(2)
begin
thing.save!
rescue RecordInvalid => error
handle_the_error
end

(3)
override rescue_action_in_public (ala the recipes book)
or do something homegrown, and then just

thing.save!


The questions are:
-Which idiom do you use and why?
-Are you consistent across your app/controllers, or do you mix and
match?
-Or do you just trust the gods of the Database and skip error handling
altogether?

Keith

Hello Keith !

2006/4/24, Keith L. [email protected]:

-Which idiom do you use and why?

redirect_to() && return if model.save

-Are you consistent across your app/controllers, or do you mix and
match?

Depends on what I’m doing. If the probability of having invalid data
is feeble (setting a flag on/off, changing a status), I’ll use
model.save!, to ensure no invalid data is left hanging.

-Or do you just trust the gods of the Database and skip error handling
altogether?

Yikes, who would do that ? Where do I put that chicken ?

Bye !