Session Shotgun每次都会有新的会话,can';t在会话中存储数据

Session Shotgun每次都会有新的会话,can';t在会话中存储数据,session,sinatra,shotgun,Session,Sinatra,Shotgun,这是一本书中的一个例子,稍作修改。看来治疗不起作用。每次我有新的课程 #reporter.rb require 'sinatra/base' class LoginScreen < Sinatra::Base #configure(:development) { set :session_secret, "something" } enable :sessions get

这是一本书中的一个例子,稍作修改。看来治疗不起作用。每次我有新的课程

#reporter.rb  

     require 'sinatra/base'
    
    class LoginScreen < Sinatra::Base
    
      #configure(:development) { set :session_secret, "something" }
    
      enable :sessions
    
      get('/login') { erb :login }
    
      post('/login') do
        if params[:user][:login] == 'admin' && params[:user][:password] == 'admin'
          session['user_name'] = params[:user][:login]
          redirect '/'
        else
          session[:notice] = "notice!"
          redirect '/login'
        end
      end
    end
    
    class Reporter < Sinatra::Base
      # "прослойка" будет запущена перед фильтрами
      # enable :sessions
      # use Rack::Session::Pool, :expire_after => 2592000
      #configure(:development) { set :session_secret, "something" }
      use LoginScreen
    
      before do
        unless session[:user_name]
          halt "Access denied, please <a href='/login'>login</a>."
        end
      end
    
      get('/') { "Hello #{session['user_name']}." }
    end

login.erb
主要用户
欢迎接受记者采访
您必须使用凭据或“新来者”身份登录

登录:

密码:

我正在使用

  • ruby 1.9.2
  • sinatra 1.3.2
  • shotgun-s thin-p 4567
    -如何启动服务器
我就是不明白为什么会话不保存数据?

你为什么评论

set :session_secret, "something"
在你的例子中? 如果您使用鸟枪重新加载服务器,它可以帮助您。

您为什么要发表评论

set :session_secret, "something"
在你的例子中?
如果您使用鸟枪重新加载服务器,它可以帮助您。

谢谢!这有帮助。我不知道为什么,但我第一次添加这句话对我没有帮助,所以我把它注释掉了。但我的代码中似乎有问题,而不是散弹枪中的问题。现在一切都好了。)谢谢这有帮助。我不知道为什么,但我第一次添加这句话对我没有帮助,所以我把它注释掉了。但我的代码中似乎有问题,而不是散弹枪中的问题。现在一切都好了。)
set :session_secret, "something"