4
私は最近、レール5でREST APIを開発し始めました。私はAPIコールを介してユーザの原動作をしようとしています。私はユーザーのために基本的な工夫をしました。私は、この持っている私のルートでAPIを使用したDeviseのユーザ登録
:
Rails.application.routes.draw do
devise_for :users, :controllers => {sessions: 'sessions', registrations: 'registrations'}
end
を私は工夫メソッドをオーバーライドして、JSON形式を受け入れる作るために2つの別々のコントローラのsessions_controllerとregistrations_controllerを作成しました。
class RegistrationsController < Devise::RegistrationsController
respond_to :json
end
と
class SessionsController < Devise::SessionsController
respond_to :json
end
私は、次のデータを渡してユーザーを登録しようとしています:
{
user: {
email: [email protected],
password: password,
password_confirmation: password
}
}
私は、ステータス200を取得するが、私のレールのサーバに私が取得しています次のエラー:
Started POST "/users" for 23.233.9.94 at 2016-12-22 08:22:11 +0000
Processing by RegistrationsController#create as */*
Parameters: {"Payload: { \r\n user: {\r\n email: [email protected],\r\n password: password,\r\n password_confirmation: password\r\n }\r\n}"=>"[FILTERED]"}
(0.2ms) begin transaction
(0.1ms) rollback transaction
Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.3ms)
基本的に2つの質問があります。 私のdeviseコントローラがJSONを認識してデータベースに保存するように、JSONをどのようにフォーマットしますか? 私の2番目の質問は、CSRFトークンをどのように渡すかです。少しの例が本当に私をここで助けてくれるでしょう。 ありがとうございます。
二重引用符で文字列を囲む必要があります。あなたの設定は大丈夫だと思われますが、有効なJSONを渡すとコントローラは認識を開始します。 – 31piy