2017-03-13 7 views
0

私はDeviseを使って認証を扱うRUBYで作られたAPIを持っています。Devise - '確認後のパス'を返すjsonが返答する方法。

また、私は確認可能なプロパティを使用していますが、私は応答を得るためにいくつかの問題があります。

私はGETリクエストを行っています。確認トークンを/develops#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は私のアプリに「成功」​​メッセージを送信すべきです。私は別のビューにredirecしたくありません。

どうすればいいですか?

答えて

0

the sourceを見ると、なぜこれが機能しないのか説明する必要があります。あなたのrespond_toブロックが間違った場所にあるため、効果がありません。あなたは#showでパスを返す必要がありますafter_confirmation_path_forが、respond_with_navigationalをオーバーライドしている

にかかわらず返されるもののリダイレクトしますredirect_toのパラメータです。

既にカスタムコントローラーがあるので、#showアクションもオーバーライドし、そこから直接JSONで応答することをお勧めします。

関連する問題