Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 需要定制设计注册流程_Ruby On Rails_Authentication_Devise - Fatal编程技术网

Ruby on rails 需要定制设计注册流程

Ruby on rails 需要定制设计注册流程,ruby-on-rails,authentication,devise,Ruby On Rails,Authentication,Devise,我的注册工作如下: 用户进行测验,测验以表单形式提交并存储在会话中 用户使用Facebook或经典用户名/密码注册网站 成功注册后,测验结果将保留给用户 我想让我的注册从步骤1中的一个单独的控制器操作开始,将结果持久化到会话,然后为Desive创建一个注册后回调以在步骤3中保存结果 实现这一点的最佳方法是什么?在第2步中会话是否会被覆盖?您的方法是正确的 您应该将测验结果存储在特定的会话哈希中,如session[:quick]中,当用户使用designe registration成功登录时,该哈

我的注册工作如下:

  • 用户进行测验,测验以表单形式提交并存储在会话中
  • 用户使用Facebook或经典用户名/密码注册网站
  • 成功注册后,测验结果将保留给用户
  • 我想让我的注册从步骤1中的一个单独的控制器操作开始,将结果持久化到会话,然后为Desive创建一个注册后回调以在步骤3中保存结果


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

    您的方法是正确的

    您应该将测验结果存储在特定的会话哈希中,如
    session[:quick]
    中,当用户使用designe registration成功登录时,该哈希不会被覆盖

    然后,您可以覆盖Desive registration controller,并将测验结果与其他信息一起添加到用户中

    class Users::RegistrationsController < Devise::RegistrationsController
    
      def create
        super
        #find user and set the quiz to persist
      end
    
    end
    
    类用户::注册控制器<设计::注册控制器
    def创建
    超级的
    #查找用户并将测验设置为持续
    结束
    结束