我已经在我的本地主机上完美地设计并运行。一旦我将它推送到服务器并设置为生产(apache / passanger),我就无法登录。我可以在服务器上使用生产webrick登录。
如果我输错密码,我的密码错误。当我使用正确的密码时,我重定向到登录重定向页面,但我还没有登录。
我正在使用有效记录会话,不确定这是否与问题有关。
登录成功,因为我可以在登录后更新当前用户统计信息的日志中看到,但是当新页面加载user_signed_in时?返回false。
以下是我在日志中看到的查询参考:
SQL (0.3ms) UPDATE "users" SET "current_sign_in_at" = $1, "last_sign_in_at" = $2, "sign_in_count" = $3, "updated_at" = $4 WHERE "users"."id" = 1 [["current_sign_in_at", "2015-01-03 19:34:11.930934"], ["last_sign_in_at", "2015-01-03 19:29:33.496977"], ["sign_in_count", 18], ["updated_at", "2015-01-03 19:34:11.931889"]]
更新:我遇到了这个可能适用于其他人的解决方案:
在config / initializers / devise.rb中设置config.http_authenticatable = false
。防止HTTP Auth从Apache干扰。这对我没有解决问题。
更新2 :我在某处读到这可能是由于apache配置问题导致的,而其他人则可以通过切换到nginx来修复它。对我来说很有意义,因为webrick即使在生产模式下也能正常工作。我做了开关,仍然有同样的问题。
任何帮助都将非常感激。我也会继续研究。
答案 0 :(得分:0)
以下是为我解决的问题:
我正在运行ruby-2.0.0-p195,我升级到ruby-2.2.0
不知道为什么这有效,但确实如此。希望这有助于其他人。此外,如果您遇到类似问题,请查看我在更新中执行的故障排除步骤。也许这也会帮助你。