私はRails 5アプリを持っています(apiのみ)。私はdevise_token_authを認証に使用しています。私はいくつかのコントローラを持っているアプリで、すべてのコントローラのために私はauthenticate_user!
にしたいと思います。私はbefore_action :authenticate_user!
行を繰り返さないようにしたいので、ApplicationControllerに配置しました。devise_token_authセッションのskip_before_actionの作成方法#create
class ApplicationController < ActionController::API
include DeviseTokenAuth::Concerns::SetUserByToken
before_action :authenticate_user!
end
この方法では、ログイン時および登録時にもauthenticate_user!
が呼び出されます。ログイン、登録、ログアウトのために:authenticate_user!
をスキップするにはどうすればよいですか?私はskip_before_action
を追加するためにSessionsControllerサルパッチに挑戦しました。
module DeviseTokenAuth
class SessionsController
skip_before_action :authenticate_user!, only: [:create, :destroy, ]
end
end
しかし、コントローラは遅延ロードされているので、私はエラーを次取得:私は
undefined method `skip_before_action' for DeviseTokenAuth::SessionsController:Class
何をしないのですか?他の解決策?お手伝いありがとうございます!
私自身のSessionsControllerを作成したくありません。私はDeviseTokenAuth :: SessionsControllerを使いたいと思います。 – Mo3z
私は恐れますが、私は既存のdevise_token_authルートを利用することはできません。 – Mo3z
@ Mo3zどういう意味ですか? –