プログラミング初心者で、現在ruby on rails のチュートリアルをやっているレベルです。
質問なのですが、インスタンス変数の値は、どうなっているのですか?(メモリがインスタンス変数を記憶してられる期間)
チュートリアルには、『HTTPはステートレスなプロトコルです。』っと書かれていますが、これはget post delete等のリクエストをした時点で、それまでインスタンス変数に代入された値を忘れるという事ですか?
っというのも、log_outメソッドは、session.delete[:user_id]だけでいいのでは?とおもい質問させていただきました。destroyアクションにより getリクエストをしているので、root_urlが表示された時点で@current_userはnilなのでは無いのですか?
よろしくお願いします。
ruby
1 module SessionsHelper 2 3 def current_user 4 @current_user ||= User.find_by(id: session[:user_id]) 5 end 6 7 def log_out 8 session.delete[:user_id] 9 @current_user = nil 10 end 11end 12
Ruby
1class SessionsController < ApplicationController 2 3 def destroy 4 log_out 5 redirect_to root_url 6 end 7end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。