我有一个运行在pow上的Rails3应用程序(正在开发中)和一个运行在thin上的Cramp应用程序。我在Rails中使用基于cookie的会话,我希望Cramp能够访问Rails创建的会话。
你知道如何做到这一点吗?我是Ruby和Rails的新手。
谢谢。
发布于 2012-12-21 08:31:46
嗯,我想出了如何在SSE上工作,但我目前正在调试一个有趣的问题,也许您可以帮助我。
因此,我创建了以下ApplicationAction
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中使用了抽筋)和下面的模型。
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出现问题。
我目前正在努力寻找一个更好的解决方案。
https://stackoverflow.com/questions/10283497
复制相似问题