0

我的注册是这样的:

  1. 用户参加测验,该测验以表单形式提交并存储在会话中
  2. 用户使用 Facebook 或经典用户名/密码注册网站
  3. 成功注册后,测验结果将与用户保持一致

我想在第 1 步中从一个单独的控制器操作开始我的注册,将结果保存到会话中,然后在第 3 步中为设计创建一个注册后回调以保存结果。

实现这一点的最佳方法是什么?会话是否会在步骤 #2 中被覆盖?

4

1 回答 1

1

你的做法是正确的。

您应该将测验结果存储在特定的会话哈希中,例如session[:quiz]当用户使用设计注册成功登录时不会被覆盖。

然后您可以覆盖设计注册控制器并将测验结果与其他信息一起添加到用户中

class Users::RegistrationsController < Devise::RegistrationsController

  def create
    super
    #find user and set the quiz to persist
  end

end
于 2012-10-28T20:18:34.723 回答