我看到我們重新設置如何會話的軌道3 (Rails sessions current practices)軌3,Heroku的,如何使用會話
從用戶那裏收集了一系列的問題,我想保持在一個偉大的答案會議的答案列表,直到我們得到盡頭,然後寫出所有...
但我不知道如何編寫和從會話讀取信息...任何快速指針將讚賞如何保存,例如,一個散列的內容
此外,我們的應用程序託管在Heroku的網格上改變我們可以/應該如何處理會話?
乾杯, JP Rails中
我看到我們重新設置如何會話的軌道3 (Rails sessions current practices)軌3,Heroku的,如何使用會話
從用戶那裏收集了一系列的問題,我想保持在一個偉大的答案會議的答案列表,直到我們得到盡頭,然後寫出所有...
但我不知道如何編寫和從會話讀取信息...任何快速指針將讚賞如何保存,例如,一個散列的內容
此外,我們的應用程序託管在Heroku的網格上改變我們可以/應該如何處理會話?
乾杯, JP Rails中
你不需要爲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
會話是非常容易使用,只要使用的會話散列狀結構如下:
我不想像你必須改變在Heroku上部署的任何東西。
也是一個很好的答案...簡潔。這就是我們現在所做的。謝謝! – jpwynn 2011-02-15 05:59:00
這個問題是不是特定的Heroku? – ClosureCowboy 2011-02-15 02:56:53
+很好的問題,謝謝你的問候! – andy 2013-03-22 08:18:50