新手问题 我用 devise 做 update password 这个操作的时候提交后 rollback

dandan · July 14, 2015 · Last by ken replied at July 15, 2015 · 2378 hits

如题,rollback,求排错指导~

你的把错误贴上来吧 还有你的源代码呢 猜不出来哪里出错了哦

#1 楼 @yangman_wenzhu Unpermitted parameter: current_password

#1 楼 @dandan

def update
    @manager = current_manager
    if @manager.update(manager_params)
      # Sign in the manager by passing validation in case their password changed
      sign_in @manager, :bypass => true
      redirect_to root_path
    else
      render "edit_password"
    end
  end

  def completed

  end

private

  def manager_params
    # NOTE: Using `strong_parameters` gem
    params.require(:manager).permit(:password, :password_confirmation)
  end

end

刚刚你贴上的是 Error Log,你需要把你写的源代码贴上来。 从 Log 看,你是在某个 update 中调用的强参数方法里没有允许params[:current_password]字段。

5 Floor has deleted
params.require(:manager).permit(:password, :password_confirmation)

这里 Unpermitted parameter: current_password

#4 楼 @pengedy: 对的是这个错误! #7 楼 @msg7086 加了,而且在 model 里接受了这个

You need to Sign in before reply, if you don't have an account, please Sign up first.