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

时间:2011-05-06 20:44:35

标签: ruby-on-rails ruby-on-rails-3 session login

在我的users_controller我有两种方法signup_processlogin。我想在login次成功通话后自动为用户致电signup_process

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

是否有某种方法可以用户数据发布到我的控制器的users.login操作中?

这一定是一种常见模式 - 我错过了什么? :)

提前致谢!

2 个答案:

答案 0 :(得分:2)

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

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

那会做你想要的吗?

答案 1 :(得分:0)

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

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

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

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