Ошибки проверки запускаются, когда я пытаюсь сбросить пароль

м проекте я изменил форму регистрации в Devise, добавив опцию: accept через аксессор (пользователь должен принять условия обслуживания, чтобы зарегистрироваться и т. Д.). Если они не согласны, это не подтверждает.

Это вызвало проблему, когда пользователь попытался отредактировать информацию своей учетной записи, когда он искал: согласие проверки, но я смог добавить предложение «кроме» и добавил другой метод доступа с именем: sign_in, который определен в контроллере (я не мог » Чтобы выяснить, как заставить модель определить, вошел ли пользователь в систему или нет, помощники devise не будут работать для меня в этом). Соответствующие части моей модели User и users_controller выглядят как ...

user.rb

validates :agree, :term_agreement => TRUE, :unless => :signed_in

users_controller.rb

def update
   @user = User.find(params[:id])

   if user_signed_in?
     @user.signed_in = params[:user]
   end

  [...]
end

Итак, все работает нормально ... проверка "согласен" переопределяет, когда пользователь уже вошел в систему. Однако я должен найти лучший способ переопределить другой сценарий ... когда пользователь сбрасывает свой пароль и ему необходимо изменить Это.

Я тестировал учетные записи пользователей и пытался сбросить свой пароль на одной учетной записи, однако меня поразила проверка: согласен ... теперь я должен найти способ переопределить это. Я заметил, что в форме «Изменить пароль» есть скрытое значение поля: reset_password_token, однако я попробовал: разве что =>: reset_password_token, но это не сработало.

Так каков наилучший способ сделать это? Вдобавок ко всему, как я могу иметь условие для условия:

Ответы на вопрос(3)

Ваш ответ на вопрос