带有Devise的Rails - 在'remote =>之后使用current_user真的'提交

时间:2012-12-03 22:37:12

标签: ruby-on-rails ajax devise warden

我有一个三部分用户注册,可以使用两个独立的模型:用户和客户信息。有一个我远程提交的用户注册,它会转到表单的下一部分。我希望在提交“客户信息”行时能够使用current_user变量。以下代码在我没有远程测试的情况下工作,但是当我使用遥控器时它甚至根本不创建行。我可以使用另一个变量来代替这个变量吗?或者有更好的方法来实现这个目标吗?

  def create
    @customer_info = CustomerInfo.new(params[:customer_info].merge(:user_id => current_user.id))

    respond_to do |format|
      if @customer_info.save
        format.html { redirect_to tasks_url, notice: 'Customer info was successfully created.' }
        format.json { render json: tasks_url, status: :created, location: @customer_info }
      else
        format.html { render action: "new" }
        format.json { render json: @customer_info.errors, status: :unprocessable_entity }
      end
    end
  end

1 个答案:

答案 0 :(得分:1)

原来这是一个设计配置情况。我不允许用户在任何时间内未经证实,所以“curent_user”即使在他们注册后仍然保持空白。我添加了config.allow_unconfirmed_access_for = 2.days并重新启动了服务器并且运行正常。