はじめに
本記事は、プログラミングの学習を始めて1ヶ月の初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
deviseで使用できるヘルパーメソッド一覧
before_action :authenticate_user! # コントローラーにの先頭に記述して、ログイン済ユーザーのみにアクセスを許可する。onlyで特定のアクションのみに設定したり、exceptで特定のアクションを除外することができる。
user_signed_in? # ユーザーがログイン済みか否かを判定する
current_user # サインインしているユーザーを取得する
user_session # ユーザーのセッション情報にアクセスする
上記のuser
の箇所については、他のモデル名を使用している場合には、そのモデル名に書き換える必要があります。
before_action :authenticate_user!
アクセス権限の設定を行います。ログイン後のみアクセスできるページを作りたい時に設定します。
viewでif文を使い、画面遷移のためのボタンをログインしていない場合には表示しないように設定すれば良いように思えますが、前述の方法だとurlを直接入力すると画面遷移をすることができてしまうため、before_action :authenticate_user!
をコントローラーに記述する必要があります。
onlyで特定のアクションのみに設定したり、exceptで特定のアクションを除外することができます。
user_signed_in?
ユーザーがログインしているかどうか判定します。ログイン時と非ログイン時でヘッダーの表示を変更する際にif文の条件として使用したりします。
current_user
現在、ログインしているユーザーをモデルオブジェクトとして利用できます。
簡単に現在のユーザーのID等を取得できるため非常に便利で、使用頻度も高いです。
user_session
ユーザーのセッション情報を設定・取得するためのメソッドです。
おわりに
上記以外に備忘録として記載する必要のあるものについては、随時追記する予定です。