👏
【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