I have managed to narrow the problem down some more.

It seems that when the User object is saved there is a check to see
whether it is clean_?

This check does not seem to include a check to see if the Address
object is also clean_?

To get around this I tried to provide an override implementation of
the dirty_? and clean_? methods on my User singleton.

        override def clean_?(toCheck: User): Boolean =
                Address.clean_?(toCheck.getAddress) && super.clean_?(toCheck)

        override def dirty_?(toCheck: User): Boolean =
                Address.dirty_?(toCheck.getAddress) && super.dirty_?(toCheck)

However, there seems to be something wrong with the way I have done
this because it is preventing the User from being saved.

When I remove both the above overrides, I get the desired
functionality, EXCEPT that when an address field is changed, that
change is not saved because the User object is still clean_?.

So the question becomes how do I let Mapper know that when the nested
address object is dirty then the user object is also dirty?

Or, put another way, how can I force an object to save when it is
clean?


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to