Using before_save to update a record only once.

Of course there is another way, you could write your own plugin acts_as_update_once to do this across all your controllers. Make sure that the logic you use short-circuits quickly for the condition that happens most of the time. This way performance will be good.