0
私はRailsに新しく、ユーザーセッションを破壊しようとすると困っています。ライン: 私のセッションコントローラは、Iが呼ぶときのセッション/破棄する」およびセッションを破壊しようと、このRailsセッション[:user_id]は破棄しないでください
class SessionsController < ApplicationController
def new
end
def create
name = params[:name]
password = params[:password]
user = User.authenticate(name, password)
if user.nil?
render json: {isLogin: false}
else
session[:user_id] = user.id
render json: {isLogin: true}
end
end
def destroy
session[:user_id] = nil
puts session[:user_id] # Nothing gets printed to the console here
render json: {isLogin: false}
end
end
のように見え、何も「[USER_ID]セッション置く」をで印刷されないされます。だから私は、セッションがその時点ではゼロであることを確かに知っています。しかし、問題は、そのユーザーのセッションを破棄しても、別のコントローラからこのようにセッションにアクセスできることです。
class LessonsController < ApplicationController
def getLesson
userId = session[:user_id]
# do stuff
end
end
どうしてですか?どのように私はこれを修正できますか?
あなたはどのようにルートに電話しますか?どのように経路を定義しましたか? 'getLesson'では;何が印刷されますか? – Ven
これは、[レールでセッション変数をクリアするにはどうすればよいですか?](http://stackoverflow.com/questions/3995816/what-is-the-best-way-to-clear -a-session-variable-in-rails) – Ven
um ..ルビーコンソールに「puts nil」しようとすると、何が印刷されますか? ;) – siegy22