👏

【Rails】Deviseでよく使用するメソッド

2024/02/04に公開

ログイン認証等でよく使用するdeviseのメソッドを後で見返せるようにメモしておきます。

よく使用されるメソッド

current_user

現在ログインしているユーザーのインスタンスを返します。ログインしていない場合はnilを返します。例えば、現在ログインしているユーザーのメールアドレスを取得するには、current_user.emailのように使用します。

user_signed_in?

ユーザーがログインしているかどうかを確認します。ログインしている場合はtrueを、そうでない場合はfalseを返します。例えば、特定のページがログインユーザーのみに表示されるようにするには、if user_signed_in?のように使用します。

authenticate_user!

ユーザーがログインしていない場合、ログインページにリダイレクトします。これは通常、コントローラのbefore_actionで使用され、特定のアクションがログインユーザーのみに制限されるようにします。

sign_in(user)

指定したユーザーをログインさせます。引数にはログインさせたいユーザーのインスタンスを渡します。例えば、新規登録後にユーザーを自動的にログインさせるには、sign_in(@user)のように使用します。

sign_out(user)

指定したユーザーをログアウトさせます。引数にはログアウトさせたいユーザーのインスタンスを渡します。例えば、ログアウトボタンのクリックを処理するアクションでsign_out(current_user)のように使用します。

user_session

現在のユーザーセッションにアクセスします。これにより、セッション固有の情報を読み書きすることができます。例えば、特定のデータをセッションに保存するには、user_session[:key] = valueのように使用します。

参考

https://tech.mof-mof.co.jp/blog/devise-option-methods-integrate/

Discussion