У меня есть простое действие по обновлению.но у меня есть небольшая проблема.Что я хочу: если я пытаюсь изменить пароль, я должен заполнить старый пароль, но если я пытаюсь изменить другие поля, такие как имя, адрес электронной почты, старый пароль не требуется.Как это написать?Помоги мне, пожалуйста.
Это мой старый код:
# PATCH/PUT /users/1
def update
if @user.authenticate(user_params[:password_old])
@user.update_attributes(user_params)
head :no_content
else
render json: { message: 'old password incorrect' }, status: :unprocessable_entity
end
end
Вот мои изменения для новой реализации:
def update
if @user.authenticate(user_params[:password_old])
@user.update_attributes!(user_params[:password, :password_confirmation])
head :no_content
else
render json: { message: 'old password incorrect' }, status: :unprocessable_entity
end
@user.update_attributes!(user_params)
head :no_content
end