1
我有以下代码:Sinatra没有传递会话变量?
enable :sessions
class CSFSWC < Sinatra::Application
post '/login' do
username = params[:username]
password = params[:password]
if csfsss.authenticate(username,password) == false
redirect '/'
# session[:loginsession] = nil
else
# Start session here
session[:username] = params[:username]
@sessionID = session[:username]
puts "Session : #{@sessionID}"
redirect '/main'
end
get '/main' do
puts "main session : #{@sessionID}"
end
/主看跌期权打印出一个空会话[:用户名]。 有什么建议吗?据我了解Sinatra的会议根据:Sinatra Sessions。
它应该只是工作。
其实即使我复制从Sinatra Sessions
class CSFSWC < Sinatra::Base
enable :sessions
get '/foo' do
session[:message] = 'Hello World!'
puts "foo : #{session[:message]}"
redirect '/bar'
end
get '/bar' do
puts "bar : #{session[:message]}"
end
它仍然无法正常工作的例子吗?
我敢肯定,实例变量在下一个(重定向)请求中不可用。尝试在'get'/ main''内访问'session [:username]' – 2012-07-12 06:30:38
同样的问题将“main session:#{session [:username]}”放在/ main – daemonza 2012-07-12 06:50:18