1

我的站点上的设计和用户会话存在一些问题。

我有管理面板,我可以在其中手动创建新用户。在Admin::UsersController#create中,在@user.save之前我使用@user.skip_confirmation!方法。保存新用户后成功创建。

然后我尝试登录并收到错误:

NoMethodError in Devise::SessionsController#create 
undefined method `model_name' for Fixnum:Class

这是跟踪日志http://pastie.org/3818223

仅当我第一次尝试使用最新用户的登录名登录时才会出现此错误,下次使用此登录名一切正常。

我使用 devise v 1.5.3 devise-russian 1.5.0 mongoid 2.4.1 ree 1.8.7 rails 3.1.1

请帮我。谢谢!:)

ps对不起我糟糕的英语

UPD:问题已解决。在我的应用程序控制器中,我覆盖了 after_sign_in_path_for方法,在这个控制器中,我在 Redis 中创建了关于 current_user 成功登录的记录。我在返回路径定义后调用了我的函数,我仍然不明白为什么它调用异常,但是当我把我的方法放在之前路径定义一切开始正常工作。谢谢。

4

1 回答 1

0

问题解决了。在我的应用程序控制器中,我覆盖了 after_sign_in_path_for 方法,在这个控制器中,我在 Redis 中创建了关于 current_user 成功登录的记录。我在返回路径定义后调用了我的函数,我仍然不明白为什么它调用异常,但是当我把我的方法放在之前路径定义一切开始正常工作。谢谢。

于 2014-03-12T21:10:04.250 回答