We don't need to do this. We can simply:

    @user.user_preferences.update_attributes(whitelist_attributes(params[:user_preference]))
    respond_with(@user)

If there are validation errors they'll be sent back as JSON, backbone handles it properly. Furthermore, I believe with 0.9.10 we can `render(nothing: true)` in the successful case and it won't freak out that it can't JSON.parse an empty response.