私はユーザー管理のためにDevise gemを使用しているレールapiアプリケーションを持っています。私はdevise gemからユーザーモデルを作成しました。その後、私はrake routes
コマンドに2つの同じルートがリストされていることに気付きました。 POST (/users)
に最初にapi/v1/users#create
アクションを呼び出してから、devise/registrations#create
に電話してほしい。異なるコントローラのアクションのための同じルート(POST/users)のレール[Devise]
user_registration POST /users(.:format) devise/registrations#create
api_users POST /users(.:format) api/v1/users#create {:format=>:json}
私はusers_controller_specファイルを使用してPOST (/users)
をテストする場合、api/v1/users#create
アクションが呼び出されます。しかし、POSTMANを使用してPOST (/users)
を実行すると、ログにはdevise/registrations#create
アクションが代わりに呼び出されることが示されます。
POST (/users)
私はPOSTMANまたはカールを使用してapi/v1/users#create
を最初に呼び出してユーザーモデルを作成し、devise/registrations#create
を呼び出してユーザーを登録するにはどうすればよいですか?
私は、どのように掘り下げがうまくいくかを100%確信していないので、ここの助けが役に立ちます。
これは私のあなたが要求を行うときには、上から下へroutes.rb
で定義されているようconfig/routes.rb
Rails.application.routes.draw do
devise_for :users
# Api definition
namespace :api, defaults: { format: :json }, path: '/' do
scope module: :v1, constraints: ApiConstraints.new(version: 1, default: true) do
# We are going to list our resources here
resources :users, only: [:show, :create, :update, :destroy]
resources :sessions, only: [:create, :destroy]
end
end
end
あなたは**の 'config/routes.rb'を投稿してくださいだろう**ファイル? –
あなたのレールのバージョンも、このメソッドに当たっているリクエストのタイプ、例えばjson、htmlなどを知りたいのですが、あなたのルートファイルも@millinに投稿してください。 –
私はAPIを作成することができるので、 ManojMenon –