wouldn't that save it twice?  isn't there a :first_or_initialize? at least then you can user.email = email && user.save to hit the db one less time