👏
【Rails】Deviseでよく使用するメソッド
ログイン認証等でよく使用する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
のように使用します。
参考
Discussion