#はじめに
プログラミングの学習を始めた頃から、ずっと思っていることがあります。メソッド名についてです。
メソッド名、どこまでは、意味をもっているものなのかわからない問題。
メソッドは自分でも作れる故、どこまでが、意味を有しているのか、判断がつきません。この記事では、今までuser_signed_in?メソッド
は全てに意味を有していると思っていたが、そうではなかったことを紹介しています。
##deviseとは
Rubyで扱うことができる、gemの一つで、ユーザー管理機能がまとまっていて、簡単にログイン機能等を実装できる、便利なgemです。
##いつもの流れ
deviseを使ってユーザー管理を行うときに、ターミナルで、モデルやコントローラー、ビューを生成させます。
例)
rails g devise user
そう、いつもuser
をモデル名やコントローラー名にしています。
##user_signed_in?メソッド
ユーザーがサインインしているかを確かめるためのメソッドで、
サインインしている状態だと、ture
ログアウト状態だと、false
が返ってきます。
そのため、if文と合わせて、サインインしているユーザーとサインインしていないユーザーで表示させるものを分岐させるときによく使います。
##user_signed_in?のuserには意味がない?
rails g devise admin
私は、deviseでuserとadminのモデルやコントローラーを作成しました。そこで、adminにだけ表示させたいときは、どうすればいいのか、悩みでした。
user_signed_in?のuser
の部分は変更可能!!
admin_signed_in?
にしてもエラーにはなりませんでした。