我希望rails在用戶通過omniauth(Twitter,Facebook或OpenID)完成成功登錄後更新或存儲評論。使用Rails的omniauth成功完成oauth登錄後保存評論對象
- A(未登錄)用戶填寫評論表單。帖子。
- 用戶可以獲取一個omniauth頁面,她可以選擇登錄方法:Twitter,Facebook或OpenID。
- 一旦用戶從oAuth成功返回,我想要存儲(或發佈)該評論。
我有這個工作,使用會話變量,但這不是非常線程安全的:它會打破,如果用戶有多個評論標籤打開相同的會話。
我應該將評論以未發佈的狀態保存到數據庫,並在返回後切換?如果是這樣,如何知道如何切換正確的評論?問題類似於上述會話問題。
有什麼方法可以簡單地將評論對象與omniauth一起傳遞,並在用戶從成功登錄返回時將其收回。
或者我可以傳遞一些散列字符串,我可以提取成功返回後?
編輯:完全重寫以簡化和澄清問題。
你能解釋爲什麼它不適用於會話變量嗎?如果您的控制器從#create的會話變量中刪除了註釋信息,則其他打開的選項卡不應受到影響,對吧? – monocle
如果您在會話中存儲評論C,則同時傳遞用戶登錄(其他選項卡)發佈評論D.從登錄過程返回後(在第一個選項卡中)評論C丟失並且存儲評論D. – berkes