【问题标题】:Debuging Devise in simple Rails app在简单的 Rails 应用程序中调试设备
【发布时间】:2014-11-08 02:33:44
【问题描述】:

我为 Rails 配置了 Devise gem,在代码中看起来不错,但是当我尝试注册新用户时,我遇到了问题。 在注册表中设计显示通知:

请查看以下问题:

但仅此而已。没有具体的消息。我应该首先寻找哪里?如何调试这样的东西? 有什么建议吗?

来自 Rails 服务器的日志:

在 2014-09-14 17:09:13 为 127.0.0.1 开始 POST "/auth/register" +0200 由 Devise::RegistrationsController#create 作为 HTML 参数处理:{"utf8"=>"✓", "authenticity_token"=>"iRsLU68tBckSzK1tupMoXZQlGw7xOuzMlfuiIVVs+rc=", "user"=>{"email"=>"test@test.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"注册"}
(0.2ms) BEGIN 用户存在 (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'test@test.com' LIMIT 1 (0.2ms) ROLLBACK
渲染设计/共享/_links.haml (0.5ms) 渲染 在布局/应用程序中设计/注册/new.html.haml(15.9 毫秒) 在 121 毫秒内完成 200 次 OK(查看次数:24.2 毫秒 | ActiveRecord:0.8 毫秒)

当我尝试登录时:

在 2014-09-14 17:10:23 +0200 为 127.0.0.1 开始 POST "/auth/login" 由 Devise::SessionsController#create 作为 HTML 参数处理: {"utf8"=>"✓", "authenticity_token"=>"iRsLU68tBckSzK1tupMoXZQlGw7xOuzMlfuiIVVs+rc=", "user"=>{"email"=>"test@test.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"} 用户负载 (0.7ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'test@test.com' ORDER BY "users"."id" ASC LIMIT 1 Completed 401 Unauthorized in 2ms 由 Devise::SessionsController#new 作为 HTML 参数处理: {"utf8"=>"✓", "authenticity_token"=>"iRsLU68tBckSzK1tupMoXZQlGw7xOuzMlfuiIVVs+rc=", "user"=>{"email"=>"test@test.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"登录"} 渲染 设计/共享/_links.haml (0.4ms) 渲染 在布局/应用程序中设计/会话/new.html.haml (9.8ms) 在 106 毫秒内完成 200 次 OK(查看次数:15.4 毫秒 | ActiveRecord:0.0 毫秒)

【问题讨论】:

  • Rails 日志显示什么?
  • 您可以在提交注册表单时发布注册控制器和日志吗?
  • 我添加了日志,但我不知道我应该如何阅读它。您能给我一些关于从服务器控制台读取此日志的建议吗?
  • @Jensky 你有任何自定义验证吗?您是否有显示验证错误的闪烁消息?
  • 尝试在控制台创建用户。 rails c u = User.new("email"=>"test@test.com", "password"=>"", "password_confirmation"=>"")。然后您可以查看它是否保存或错误。你可以在这里检查u.errors

标签: ruby-on-rails ruby devise gem


【解决方案1】:

我通过检查 object.errors 来调试这些东西

在这种情况下,请尝试

raise @user.errors.inspect

在创建方法中保存之后的某处

【讨论】:

  • 你能给我看一个上下文或更详细的代码吗?我是初学者,我从来没有使用过这样的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
相关资源
最近更新 更多