`save!` raises an exception if the save fails, so you'd never reach the `else`. I think you wanted to use `save` here, which returns true or false depending on whether the save succeeded.