У меня есть один конкретный пользователь в моем приложении rails, для которого я больше не могу войти в систему, пароль всегда недействителен, хотя я изменил его вручную. Вот что я делаю в рельсах консоли:Rails Разработать пароль пользователя всегда недействителен (тестируется в консоли rails)
> me = User.find(10)
> me.password = '123456789'
> me.save
(0.3ms) BEGIN
User Exists (0.6ms) SELECT 1 AS one FROM "users" WHERE ("users"."email" = '[email protected]' AND "users"."id" != 10) LIMIT 1
SQL (0.7ms) UPDATE "users" SET "encrypted_password" = $1, "updated_at" = $2 WHERE "users"."id" = $3 [["encrypted_password", "$2a$10$mrhWiOT3pu6YldtYRD/bC.wuqPthyfJhiqdGkYv14xCafVQNTodWG"], ["updated_at", "2016-08-08 10:43:34.715229"], ["id", 10]]
(31.3ms) COMMIT
=> true
> me.valid_password?('123456789')
=> nil
Это только с этим конкретным идентификатором пользователя 10. Я сделать то же самое с любым другим пользователем он работает. Что может быть неправильным?
EDIT: Я также пытался с подтверждением пароля, но это не проблема. Как я уже говорил, точное манипулирование прекрасно работает с любым пользователем, кроме этого удостоверения личности 10
EDIT 2: я нашел решение в этой теме: Rails/Devise: valid_password? method returns nil
Подтверждение пароля с паролем_подтверждения? – pramod
Я нашел душу в этой теме: http://stackoverflow.com/questions/19599201/rails-devise-valid-password-method-returns-nil – Quentin