Rails 3 – 在创建帐户后自动登录用户

在我的signup_process ,我有两个方法signup_processlogin 。 我想在signup_process调用成功后自动为用户调用login

这可能吗? 在其他语言框架中,我通常只是通过传递用户名和密码的signup_process操作直接调用login控制器操作 – 但我认为这在Rails中是不受欢迎的。

有没有办法将用户数据发布到我的控制器的users.login操作?

这必须是一种常见的模式 – 我错过了什么? 🙂

提前致谢!

不确定你的意思是皱眉头,但这是一种方式

 class UsersController < ... def signup // Do some stuff do_login(username, password) // render or redirect as you wish end def login do_login(username,password) // render or redirect as you wish end private def do_login(username,password) // do the actual login processing // can even render or redirect here if it's common to both setup and login end end 

那会做你想要的吗?

那么,登录操作有什么作用?

最有可能的是,它在会话中设置了一些指示用户已登录的内容。在创建用户之后,您可以这样做。

调用控制器动作没有意义,因为它最有可能与视图/表单连接。

如果您仍然觉得需要通过它,请提供有关登录操作的更多信息。