rails6.0.3(APIではなく標準モード)
ruby2.6
devise_token_authを使いtoken認証を試しています。
curlやpostmanを使い登録する方法はよく紹介されているのですが、webのログイン画面から登録を行いたく登録画面に遷移したいのですが、登録をwebで行う前に登録画面に遷移ができず困っています。(curlを使いユーザー登録は確認できています)
登録画面に当たる /api/v1/auth/sign_up
へのルーティングは以下のように確認できているのですが、こちらのURLを叩いてもRouting Errorとエラーが出て該当画面に遷移できないという状態です
以下がルーティングやコントローラーのコード、また階層になります。
#routes.rb Rails.application.routes.draw do namespace :api do namespace :v1 do mount_devise_token_auth_for "User", at: "auth", controllers: { registrations: 'auth/registrations' } end end end #controller controllers/api/v1/auth/resisrations_controller.rb class Api::V1::Auth::RegistrationsController < DeviseTokenAuth::RegistrationsController end #viewの階層 views/api/v1/auth/resitrations/new.html.erb
恥ずかしい話、見様見真似で書いた個人的に分かっていないことが複数あり
まずルーティングの at: "auth" と controllers: {registrations:'auth/registrations'}
という文法がよく分かっていません。
調べたりはしたのですがこちらについては検索に引っかからずと言う状態で、このatとcontrollersというオプションによりどのようなルーティングになっているかが定かではなく、どの階層にコントローラーやviewを配置すれば良いかがそもそも分かっていないです。
もう一つにdevise_token_authのgithub
を見に行ったのですが、登録画面に該当するアクション(new)が見受けられないように思います。
つまり、今僕はcontrollers/api/v1/auth/resistrations_controller.rb
でDeviseTokenAuth::RegistrationsController
を継承している為、こちらのdevisetokenauthのメソッドを使用できる状態にいるはずなのですが、そもそもnewアクションがない為、遷移ができないのではと思いました。
devisetokenauthを利用するに当たりnewアクションはオーバライドするというより、新規でアクションを作成する必要があるのでしょうか?
こちら以上をどのように修正すれば、登録画面(/api/v1/auth/sign_up)がローカルで開けますでしょうか?
お手数をおかけしますがよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/02 04:46
2021/01/02 13:19
2021/01/02 13:31