Expressive code

Comments below.
This is just a suggestion, but I wanted to show you a way to make your code really stand out.  I took the same code you had in the "if" statement, but I moved it into a method that was named to express **exactly** what it did.

Martin Fowler once said:
>  Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

By moving that code into a separate method, I changed a block of updating code into a sentence that reads like English:  "if all of the user fields could be updated".  The meaning of that statement is immediately grasped by a reader.

This is one of the lessons in Clean Code.  Some programmers prefer the code to stay in in the "if" statement, as they'll claim "they can just read it" there.  But they're also lying.  English is our primary language for communication, not Ruby.