I don't know what other issue and that's the point. If a RecordInvalid exception is thrown, I know that there is a validation error and that I want to check user.errors and probably display the form again. I don't want to assume that is the case just because the save failed.
That is unless the contract of the save method says "returns false means there was a validation error and user.errors contains the details." Right now the contract just says that false means the save failed. The point is I don't want to have to think "is there some other cause of returning false?" I gave the example of a PermissionsError, if permissions were integrated into the model. In that case it would still return false (following the current pattern) and I would have to check user.valid? and then check user.can_save? or something. Even calling user.valid? is not 100% accurate here, since validation will be rerun and perhaps the state has changed from passage of time, insertion of new records, etc. I want the validation error bubbled up when it happens. Anything else is not accurate. On Nov 26, 8:27 pm, Jon Hancock <[EMAIL PROTECTED]> wrote: > I think he means that RecordInvalid is _one_ of the exceptions that > might be raised. Another for the case of a save could be > DuplicateRecord. > > Jon > > On Nov 26, 7:51 pm, Michael Klishin <[EMAIL PROTECTED]> > wrote: > > > On 26.11.2008, at 12:25, Alex Neth wrote: > > > > Right now I can stop execution with an "if user.save," but I need to > > > probe the object for the reason - is it invalid? is there some other > > > issue? > > > What other issues can it be? If RecordInvalid-like exceptions would be > > raised, don't you face the same problem? > > > MK > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/datamapper?hl=en -~----------~----~----~----~------~----~------~--~---
