ユーザー登録やログイン機能を簡単に実装できるdeviceジェム。
導入方法ではなく、アプリケーションで使えるController filters(before_action) とよく使うhelpersを紹介します。モデルはUserの場合です。
コントローラーフィルター (before_action)
// users_controller.rb before_action :authenticate_user!
コントローラーに記載することで、そのコントローラーのアクションは認証された(ログインしている)ユーザーのみ実行可能になります。
コントローラー全体ではなく、特定のアクションに限定したいときは、
before_action :authenticate_user!, only: [:アクション名, ・・・]
と、only以下にアクション名を記載。
ヘルパー メソッド
ヘルパーメソッドとは、動的なビューの中で使用できるメソッドです
user_signed_in?
ユーザーがサインインしている場合、trueを返します。
current_user
user_signed_in?がtrueの場合、現在ログインしているユーザーのレコードを取得できます。
current_user.id,current_user.nameなどとして使用できます。
user_signed_in?がfalseの場合、 エラーになります。
コメント