Ruby on rails 设计:注册/登录有效,但ruby不会识别?[更新]

Ruby on rails 设计:注册/登录有效,但ruby不会识别?[更新],ruby-on-rails,heroku,devise,Ruby On Rails,Heroku,Devise,这只发生在heroku,当地一切正常 当我注册一个新用户或使用现有用户登录到我的应用程序时,我不会收到任何错误消息或其他信息 然而,if user\u signed\u in?作为一个例子是不起作用的。我仍然使用注册/登录按钮,而不是仪表板作为示例。与active_admin相同,当我尝试登录时,没有出现错误,但它只是重新加载登录页面。这真的很奇怪 再一次,只有在希罗库。当我尝试在本地登录或尝试注册新用户时,一切正常 Heroku日志未显示任何错误(丢失的图像文件除外) 有什么想法吗 [更新]

这只发生在heroku,当地一切正常

当我注册一个新用户或使用现有用户登录到我的应用程序时,我不会收到任何错误消息或其他信息

然而,
if user\u signed\u in?
作为一个例子是不起作用的。我仍然使用注册/登录按钮,而不是仪表板作为示例。与active_admin相同,当我尝试登录时,没有出现错误,但它只是重新加载登录页面。这真的很奇怪

再一次,只有在希罗库。当我尝试在本地登录或尝试注册新用户时,一切正常

Heroku日志未显示任何错误(丢失的图像文件除外)

有什么想法吗

[更新]

运行heroku运行rails控制台 然后
@User.all
返回nil

$ heroku run rails console
Running rails console on herogamedev2... starting, run.3740 (Free)
Running rails console on herogamedev2... connecting, run.3740 (Free)
Running rails console on herogamedev2... up, run.3740 (Free)
Loading production environment (Rails 4.2.5.1)
irb(main):001:0> @User.all
@User.all
NoMethodError: undefined method `all' for nil:NilClass
        from (irb):1
        from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.1/lib/rails/commands/console.rb:110:in `start'
        from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.1/lib/rails/commands/console.rb:9:in `start'
        from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:68:in `console'
        from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
        from /app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
        from /app/bin/rails:4:in `require'
        from /app/bin/rails:4:in `<main>'
irb(main):002:0>

在推送到Heroku之前,您可能没有预编译您的资产,请尝试:

rake assets:precompile
git add .
etc etc

我认为这应该有帮助。有关更多信息,请参见此处:

我认为这一行来自日志

UPDATE "admin_users" SET "last_sign_in_at" = $1, "current_sign_in_at" = $2, "sign_in_count" = $3, "updated_at" = $4 WHERE "admin_users"."id" = $5  [["last_sign_in_at", "2017-02-14 11:47:42.774425"], ["current_sign_in_at", "2017-02-14 11:51:55.817737"], ["sign_in_count", 4], ["updated_at", "2017-02-14 11:51:55.819377"], ["id", 1]]
告诉我们当您以管理员身份登录时,
admin\u用户
表中的记录已更新

不幸的是,我无法告诉您的模型是如何布局的,但我的最佳选择是您需要查询AdminUser记录

> AdminUser.all
您还应该确保
user\u signed\u in?
方法处理AdminUsers。发布您的设计配置(在模型中)和任何覆盖都会有所帮助。您是否覆盖了
Admin::DashboardController#index
中的任何内容


设计会话cookie中的读取。您是如何配置会话存储的?可能是Heroku有不同的配置吗?

谢谢您的回答!我试过了。但问题依然存在。我还试着从heroku本身运行它,所以heroku运行rake资产:precompile,但这也不起作用。嘿!这不仅仅是主动管理的问题。在主页上,当我尝试以普通用户身份登录时,我遇到了相同的问题。我没有覆盖仪表板控制器中的任何内容。正如你所说,我发布了designe.rb文件。我还没有配置会话存储。老实说,我以前没听说过。你的config
config.skip\u session\u storage=[:http\u auth]
的这部分有点可疑。看起来你取消了一些东西的注释。这是故意的吗?我想你应该注释掉
skip\u session\u storage
指令.Mhm,不知为什么它已经存在了。我把它注释掉了,但问题仍然存在。这是如此奇怪,因为我没有得到任何错误或任何东西。我以前在sendgrid上遇到过一个问题,但我没有改变任何可能导致如此奇怪问题的东西。只调整了2行代码。
UPDATE "admin_users" SET "last_sign_in_at" = $1, "current_sign_in_at" = $2, "sign_in_count" = $3, "updated_at" = $4 WHERE "admin_users"."id" = $5  [["last_sign_in_at", "2017-02-14 11:47:42.774425"], ["current_sign_in_at", "2017-02-14 11:51:55.817737"], ["sign_in_count", 4], ["updated_at", "2017-02-14 11:51:55.819377"], ["id", 1]]
> AdminUser.all