重新定义设计用户创建

Redefining Devise user creation

我想以一种允许我将数据从 Guest 用户传输到创建的用户的方式重新定义 Devise 中的用户创建。

我可以直接覆盖 UsersController 中的 newcreate 方法吗

def new
  @user = user.new
end

def create
  @user = User.new(user_params)
  #method to move data from Guest to new User
  @user.create
end

然后创建一个 new.html.haml form_for 来获取用户的电子邮件和密码?这样做会破坏任何类型的 Devise 安全功能等吗?

覆盖默认设计控制器并向其添加自定义功能是常见的做法。 我认为它将满足您将数据从访客传输到注册用户的需求。

https://github.com/plataformatec/devise#configuring-controllers

这种方法有据可查,在 Whosebug 上有很多参考资料。