首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rails3应用程序和Cramp之间共享会话?

如何在Rails3应用程序和Cramp之间共享会话?
EN

Stack Overflow用户
提问于 2012-04-23 23:26:04
回答 1查看 134关注 0票数 1

我有一个运行在pow上的Rails3应用程序(正在开发中)和一个运行在thin上的Cramp应用程序。我在Rails中使用基于cookie的会话,我希望Cramp能够访问Rails创建的会话。

你知道如何做到这一点吗?我是Ruby和Rails的新手。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-12-21 08:31:46

嗯,我想出了如何在SSE上工作,但我目前正在调试一个有趣的问题,也许您可以帮助我。

因此,我创建了以下ApplicationAction

代码语言:javascript
复制
class ApplicationAction < Cramp::Action
    before_start :load_session

    def load_session
        session_id = request.cookies['_session_id']
        @session = Session.where(:session_id => session_id).first
        yield
    end
end

这使得rails会话对我的所有子操作都可用。然后我添加了一个会话模型(我在ActiveRecord中使用了抽筋)和下面的模型。

代码语言:javascript
复制
class Session < ActiveRecord::Base
    set_table_name :sessions

    # Get the data on the sessions table
    def data; Marshal.load(Base64.decode64(read_attribute(:data))); end
end

假设所有Marshal序列化的类都可以实例化,那么这实际上可以很好地工作。这就是我的问题所在。当rails将其序列化为会话数据时,这会导致ActionDispatch出现问题。

我目前正在努力寻找一个更好的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10283497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档