设计 - 如何'确认路径后'返回json响应。

时间:2017-03-13 17:52:07

标签: ruby-on-rails json ruby devise

我有一个使用Devise使用RUBY来处理身份验证的API。

我也在使用:确认财产,但我在收到回复方面遇到了一些麻烦。

我正在做一个GET请求,将验证令牌发送到设计/确认#show,这很好,因为之后我尝试进入我的应用程序,我可以。问题是,当我发送该请求时,我收到了响应错误,因为我没有任何重定向路由,因为我没有使用任何视图(是一个API)

我尝试从设计创建一个新类:

class ConfirmUserController < Devise::ConfirmationsController

private
  def after_confirmation_path_for(resource_name, resource)
    respond_to do |format|
      format.json { render json: {msg: 'success'} }
    end
  end
end

基本上我需要的是当用户确认他们的帐户时,api应该向我的应用发送“成功”消息。我不想重定向到另一个视图。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

看一下the source应该解释为什么这不起作用。您的respond_to区块位置错误,因此无效。

您要覆盖应返回路径的after_confirmation_path_for,但respond_with_navigational中的#showredirect_to的参数,无论返回什么内容,都会重定向。

由于您已经拥有自定义控制器,我建议您也覆盖#show操作,并直接从那里使用JSON进行响应。