2013-11-25 10 views
0

В RailsCasts Episode #274 'Remember Me & Reset Password' пользователь вводит новый пароль, который отправляется на адрес PasswordResetsController.Как обеспечить обновление только определенных атрибутов и добавление другого атрибута в Rails?

Актерский показывает строку, которая обновляет атрибуты, чтобы быть:

elsif @user.update_attributes(params[:user]) 

для Rails 4, я должен был изменить это:

elsif @user.update_attributes(params.permit![:user]) 

Я хочу только атрибут пользователя password для обновления с введенным пользователем, а также установить password_reset_token на nil. Как я могу это сделать, а также обеспечить только те поля могут быть обновлены?

ответ

0

Я думаю, что вы хотите что-то вроде этого:

elsif @user.update_attributes(
    params.require(:user).permit(:password, :password_confirmation).merge(password_reset_token: nil) 
)