我在登录时收到如下所示的错误(通过设计)
奇怪的是,Rails/Devise 似乎返回了一个用户 ID 为“1”,即使我的用户表中没有用户 ID 为“1”的用户。这似乎是随机发生的,我无法弄清楚问题所在。
这是最新的错误消息。
ODBC::Error: S1000 (9001) [Microsoft][SQL Server Native Client 11.0][SQL Server]数据库“[redacted]”的日志不可用。检查事件日志以获取相关的错误消息。解决所有错误并重新启动数据库。: EXEC sp_executesql N'UPDATE [users] SET [last_sign_in_at] = ''2012-11-12T16:58:34.020'', [current_sign_in_at] = ''2012-11-13T08:44: 33.586'', [sign_in_count] = 69, [updated_at] = ''2012-11-13T08:44:33.630'' WHERE [users].[id] = 1; 选择 @@ROWCOUNT 作为 AffectedRows'
这是请求参数:
{"utf8"=>"✓",
"authenticity_token"=>"[redacted]=",
"user"=>{"email"=>"jkramxx@xx.com",
"password"=>"[FILTERED]",
"remember_me"=>"0"},
"commit"=>"Sign in"}
db中实际上没有id为“1”的用户,服务器没有问题。用户 jkramxx@xx.com 的 id 为 60。(用户 id 1 不久前已从数据库中删除)。我认为它可能是会话 cookie 中的某些东西,所以我也删除了它)。
我在可以登录的控制台中看到了类似的奇怪行为,但是当我在调试器中检查 current_user 时,即使我直接检查数据库(使用 SQL Server Mgmt Studio)用户的 id 为 34,并且没有 id 为 1 的用户。有时,当我重新启动调试器时,这种行为会消失。都非常随意。
有什么建议么?
(Ruby 1.9.3./Rails 3.2.8 SQL Server 10 使用 ruby-obdc gem)