如何在基于机架的应用程序中存储和访问会话数据

时间:2011-05-23 12:08:08

标签: ruby rack

如何在基于机架的应用程序中存储和访问会话数据。我正在ruby中构建一个基于机架的应用程序,我需要在会话中存储数据我该怎么办?

1 个答案:

答案 0 :(得分:3)

这是一个非常开放的问题。您想存储数据服务器端还是客户端?在第一种情况下,您可以将数据存储在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:查看用于创建和存储会话的框架。