我看到了如何为rails 3设置会话的一个很好的答案
( Rails sessions current practices)
( Rails sessions current practices)
我们从用户那里收集了一系列问题,我想在会议中保留他们的答案列表,直到我们结束然后全部写完……
但我不确定如何从会话中写入和读取信息……任何快速指针都会被理解为如何保存,例如,哈希的内容
此外,我们的应用程序托管在Heroku的网格上是否会改变我们如何/应该处理会话?
干杯,
J.P
解决方法
你不必为Heroku改变任何东西.默认情况下,Rails会话存储在加密的cookie中,因此不需要服务器端配置.
但是,cookie只能存储4,096字节的数据.如果您在会话中存储大量数据(通常不建议这样做),您可能会溢出cookie.在这种情况下,您可能希望设置基于ActiveRecord或Memcached的cookie.这两个都很容易做到,并不是真正的Heroku特定问题.如果您需要帮助,可以随时询问另一个StackOverflow问题.就目前而言,直到达到极限才会令人担忧.
在会话中存储和阅读答案的一些粗略代码,假设问题和答案是ActiveRecord模型:
def store_answer(question,answer) session[:answers] ||= {} session[:answers][question.id] = answer.id end def read_answer(question) Answer.find(session[:answers][question.id]) end