下記最下部の!current_user.nilという記述は、current_userというヘルパーメソッドnil?というrubyのメソッドを繋げて記載していますが、メソッドに対してさらにメソッドを用いるという概念がいまいち理解できません。
実はcurrnt_userメソッドの裏側で、何らかの処理が働き、そこで生成されたオブジェクトに対してnil?メソッドを用いていたりするのでしょうか。
module SessionsHelper # 渡されたユーザーでログインする def log_in(user) session[:user_id] = user.id end # 現在ログイン中のユーザーを返す (いる場合) def current_user if session[:user_id] @current_user ||= User.find_by(id: session[:user_id]) end end # ユーザーがログインしていればtrue、その他ならfalseを返す def logged_in? !current_user.nil? end end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/06 21:16