ruby-on-rails-3 – 如何调用来自另一个控制器的设计的sign_in和sign_out方法与devise不同?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 如何调用来自另一个控制器的设计的sign_in和sign_out方法与devise不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Ruby on Rails 3.0.7应用程序和我的用户身份验证与devisebut,我有一个替代注册登录方法,我允许我的用户使用他们的Facebook帐户注册,然后我保存登录信息在我的用户表中同样的设计用于注册登录用户.

脚步

用户点击Facebook按钮.
>✔我保存他的信息(从考拉提取名称和电子邮件)给用户一个通用的密码.
>☐用设计登录新用户.
>✔重定向到我的主控制器.

我只是错过了第三步,因为我想继续使用current_user帮助器和user_signed_in?帮手也.

那么如何告诉设计师从我的其他控制器自动登录这个用户

我在这个问题Devise: Have multiple controllers handle user sessions看到类似的东西,它记录我的用户,但导致我到一个空白页面

解决方法

Devise提供了 bunch of helpers,其中两个是:
sign_in(resource_or_scope,*args)
sign_in_and_redirect(resource_or_scope,*args)

您可以从任何控制器使用这些.

编辑

如果使用sign_in已经适用于您,但将用户留在空白页面上,请检查您的日志文件以查看是否有重定向以及重定向到哪里.或者通过使用上面的第二个帮助器将重定向显式化.

猜你在找的Ruby相关文章