1
我有一个Rails3应用程序运行pow(开发中)和一个Cramp应用程序运行在瘦。我在Rails中使用基于cookie的会话,我希望Cramp能够访问由Rails创建的会话。如何在Rails3应用程序和Cramp之间共享会话?
任何想法如何做到这一点?我对Ruby和Rails相当陌生。
谢谢。
我有一个Rails3应用程序运行pow(开发中)和一个Cramp应用程序运行在瘦。我在Rails中使用基于cookie的会话,我希望Cramp能够访问由Rails创建的会话。如何在Rails3应用程序和Cramp之间共享会话?
任何想法如何做到这一点?我对Ruby和Rails相当陌生。
谢谢。
嗯,我想出了如何让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
这提供给我的所有孩子的行为轨会话。然后我添加了一个会话模型(我使用了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
这实际上工作完美,假设所有的元帅序列化的类都可以实例化。这是我遇到问题的地方。这会导致ActionDispatch在通过rails序列化到会话数据时出现问题。
我目前正在努力寻找更好的解决方案。