Ruby 如何在基于机架的应用程序中存储和访问会话数据
如何在基于机架的应用程序中存储和访问会话数据。我正在用ruby构建一个基于机架的应用程序,我需要在会话中存储数据,我该怎么做?这是一个相当开放的问题。您想在服务器端还是客户端存储数据?在第一种情况下,您可以将数据存储在cookie中:Ruby 如何在基于机架的应用程序中存储和访问会话数据,ruby,rack,Ruby,Rack,如何在基于机架的应用程序中存储和访问会话数据。我正在用ruby构建一个基于机架的应用程序,我需要在会话中存储数据,我该怎么做?这是一个相当开放的问题。您想在服务器端还是客户端存储数据?在第一种情况下,您可以将数据存储在cookie中: def call status, headers, body = @app.call(env) response = Rack::Response.new body, status, headers response.set_cooki
def call
status, headers, body = @app.call(env)
response = Rack::Response.new body, status, headers
response.set_cookie("foo", {:value => "bar", :path => "/", :expires => Time.now+24*60*60})
response.finish
end
在后一种情况下,您可能希望将其存储在数据库中(可以使用ActiveRecord或其他对象映射器),或者只存储在纯文本文件中
TL;DR:看看用于创建和存储会话的框架。这是一个相当开放的问题。您想在服务器端还是客户端存储数据?在第一种情况下,您可以将数据存储在cookie中:
def call
status, headers, body = @app.call(env)
response = Rack::Response.new body, status, headers
response.set_cookie("foo", {:value => "bar", :path => "/", :expires => Time.now+24*60*60})
response.finish
end
在后一种情况下,您可能希望将其存储在数据库中(可以使用ActiveRecord或其他对象映射器),或者只存储在纯文本文件中
TL;DR:看看用于创建和存储会话的框架。看看并看看rack是否提供了存储会话服务器sideNo的选项。如果你想这样做,最好是使用一个框架(sinatra很简单,但可以为你做一些事情,例如)。看起来Rack::Session::Pool可以做到这一点。Rack是否提供任何选项来存储会话服务器sideNo。如果你想这样做,最好是使用一个框架(sinatra很简单,但可以为你做一些事情,例如),Rack::Session::Pool似乎可以做到这一点。