2013-10-29 39 views
0

我正在使用​​爲reddit構建Rails應用程序。在會話之間持續的Rails對象

在我ApplicationController我創建像這樣的Snoo對象:

def reddit 
    @reddit ||= Snoo::Client.new 
    end 

我然後授權我在另一個控制器的用戶。我現在注意到,雖然每當新用戶訪問該應用時,都會創建一個新的Snoo客戶端。如果我通過隱身瀏覽器或甚至另一臺計算機一起訪問我的應用程序,它們仍然會按照授權登錄到同一個reddit帳戶。

我該如何告訴rails爲每個訪問者創建一個新的Snoo客戶端?

+0

你看着辦吧? – creativereason

+0

@creativereason還沒有。它與我沒有想到的會話沒有任何關係。我很困惑,爲什麼rails沒有爲每個訪問者在內存中創建一個新的Snoo對象,而不是重複使用同一個對象。 – Deekor

+0

也許挖到Snoo寶石看它是否是單身? 另一個選項是當您完成該會話時嘗試註銷: '@ reddit.log_out' – creativereason

回答

0

編輯: 我對Snoo Gem一無所知,但它聽起來像是試圖保持與API的一個連接(singleton),也許在Snoo github上提問?

您可以嘗試手動重設爲無或新...或註銷?

要在你的榜樣使用它:

def reddit 
    @reddit = nil #manually reset 
    @reddit ||= Snoo::Client.new 
end 

def reddit 
    @reddit = Snow::Client.new #always a new instance..? 
end