Devise Reset password token can't be blank
在尝试重置密码时,我正在尝试在我的 rails 应用程序中显示错误"重置密码令牌不能为空白"。我在控制台中收到一封电子邮件,其中包含重置密码的链接。当我打开链接并输入我的新密码时,我收到错误"重置密码令牌不能为空白"
为什么会出现此错误,我该如何解决?我也在使用 devise-basecamper gem
如果还有什么我可以发布的有用的信息,请告诉我。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | Started GET"/users/password/new" for 127.0.0.1 at 2014-01-08 22:43:09 -0600 Processing by Devise::PasswordsController#new as HTML Account Load (0.3ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 Company Load (0.2ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`account_id` = 1 LIMIT 1 (0.3ms) SELECT COUNT(*) FROM `applicants` WHERE `applicants`.`company_id` = 1 AND (viewed = false and archived = false and submitted = true) Rendered devise/passwords/new.html.erb within layouts/session (17.5ms) Completed 200 OK in 808ms (Views: 309.2ms | ActiveRecord: 44.8ms) Wed, 15 Jan 2014 19:04:50 CST -06:00 Wed, 08 Jan 2014 22:43:17 CST -06:00 Started POST"/users/password" for 127.0.0.1 at 2014-01-08 22:43:17 -0600 Processing by Devise::PasswordsController#create as HTML Parameters: {"utf8"=>"a?"","authenticity_token"=>"96PTbxVrxaQWiXh6QXGZUyRe/7J/lLQo4hbASED1Mrs=","user"=>{"email"=>"support@example.com","subdomain"=>"mysubdomain"},"submit"=>"Send me reset password instructions"} Account Load (0.3ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 Company Load (0.3ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`account_id` = 1 LIMIT 1 (0.4ms) SELECT COUNT(*) FROM `applicants` WHERE `applicants`.`company_id` = 1 AND (viewed = false and archived = false and submitted = true) CACHE (0.0ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`account_id` = 1 AND `users`.`email` = '[email protected]' LIMIT 1 Account Load (0.3ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`id` = 1 LIMIT 1 Rendered devise/mailer/reset_password_instructions.html.erb (23.9ms) Sent mail to [email protected] (32ms) Date: Wed, 08 Jan 2014 22:43:18 -0600 From: [email protected] Reply-To: [email protected] To: [email protected] Message-ID: <[email protected]> Subject: Reset password instructions Mime-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit <p>Hello [email protected]!</p> <p>Someone has requested a link to change your password, and you can do this through the link below.</p> <p>Change my password</p> <p>If you didn't request this, please ignore this email.</p> <p>Your password won't change until you access the link above and create a new one.</p> Redirected to http://mysubdomain.127.0.0.1.xip.io:3000/login Completed 302 Found in 536ms (ActiveRecord: 0.0ms) Wed, 15 Jan 2014 19:04:50 CST -06:00 Wed, 08 Jan 2014 22:43:18 CST -06:00 Started GET"/login" for 127.0.0.1 at 2014-01-08 22:43:18 -0600 Processing by Devise::SessionsController#new as HTML Account Load (0.3ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 Company Load (0.2ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`account_id` = 1 LIMIT 1 (0.3ms) SELECT COUNT(*) FROM `applicants` WHERE `applicants`.`company_id` = 1 AND (viewed = false and archived = false and submitted = true) Rendered shared/_messages.html.erb (1.2ms) Rendered devise/sessions/new.html.erb within layouts/session (13.3ms) Completed 200 OK in 28ms (Views: 22.1ms | ActiveRecord: 0.9ms) Wed, 15 Jan 2014 19:04:50 CST -06:00 Wed, 08 Jan 2014 22:43:28 CST -06:00 Started GET"/users/password/edit?reset_password_token=[FILTERED]" for 127.0.0.1 at 2014-01-08 22:43:28 -0600 Processing by Devise::PasswordsController#edit as HTML Parameters: {"reset_password_token"=>"[FILTERED]"} Account Load (0.3ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 Company Load (0.3ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`account_id` = 1 LIMIT 1 (0.7ms) SELECT COUNT(*) FROM `applicants` WHERE `applicants`.`company_id` = 1 AND (viewed = false and archived = false and submitted = true) Rendered devise/passwords/edit.html.erb within layouts/session (1.8ms) Completed 200 OK in 36ms (Views: 29.0ms | ActiveRecord: 1.3ms) Wed, 15 Jan 2014 19:04:50 CST -06:00 Wed, 08 Jan 2014 22:43:39 CST -06:00 Started PUT"/users/password" for 127.0.0.1 at 2014-01-08 22:43:39 -0600 Processing by Devise::PasswordsController#update as HTML Parameters: {"utf8"=>"a?"","authenticity_token"=>"96PTbxVrxaQWiXh6QXGZUyRe/7J/lLQo4hbASED1Mrs=","user"=>{"password"=>"[FILTERED]","password_confirmation"=>"[FILTERED]"},"submit"=>"Change my Password"} Account Load (0.4ms) SELECT `accounts`.* FROM `accounts` WHERE `accounts`.`subdomain` = 'mysubdomain' LIMIT 1 Company Load (0.3ms) SELECT `companies`.* FROM `companies` WHERE `companies`.`account_id` = 1 LIMIT 1 (0.4ms) SELECT COUNT(*) FROM `applicants` WHERE `applicants`.`company_id` = 1 AND (viewed = false and archived = false and submitted = true) Rendered devise/passwords/edit.html.erb within layouts/session (2.8ms) Completed 200 OK in 39ms (Views: 27.9ms | ActiveRecord: 0.0ms) |
你有这样的链接吗?
http://localhost.com/users/password/edit?reset_password_token=GVN7DnKTVVsE15gMXaFb
(删除 .com)
看到查询参数中的reset_password_token 了吗?
同样在你的设置密码页面,确保你有这样的行
1 | <input class="hidden" id="user_reset_password_token" name="user[reset_password_token]" type="hidden" value="GVN7DnKTVVsE15gMXaFb" /> |