has_image_upload is a better check than key.present... key will always be present even if there is no new file.