Update_attributes on multiple models, revert back on error

Hi,

I have one method, ‘updateStuff’, that will call ‘update_attributes’
on 3 different models in the DB…

How can I account for validation to revert back all updates if one of
the models is not valid?

I’ve looked into Model.valid? which doesn’t seem to work for me …

Any idea?

Thanks

Terpinator wrote:

I have one method, ‘updateStuff’, that will call ‘update_attributes’
on 3 different models in the DB…

How can I account for validation to revert back all updates if one of
the models is not valid?

Note that you want all-or-nothing DB updates, but, for purposes
of form redisplay, always want both in-memory attribute updates
and validity-checking done on each. Here’s how:

  1. Update attributes on each without saving using the attributes=
    method.
  2. Call valid? on each, storing each result in a local variable.
  3. Proceed with transaction-wrapped saves if all three variables are
    true.


Rails Wheels - Find Plugins, List & Sell Plugins -
http://railswheels.com

that’s what i would do, too. but you said valid? is not working for
you. why is that? (where seems to be the problem?)

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs