2016-09-21 34 views
3

目前,我有一個Rails應用程序,其編輯表單位於單獨的編輯頁面上。有沒有辦法確保沒有兩個用戶同時訪問編輯頁面?或者如果用戶目前沒有其他用戶在該頁面上,則只能訪問編輯頁面?確保只有一個用戶在Rails應用程序中編輯表單

或者問一個更簡單的問題,有沒有辦法獲得當前頁面上的用戶列表?

我on Rails的4

+0

只是想知道,用戶跟蹤的寶石會在這種情況下的任何幫助? –

回答

0

HTTP是一種無狀態協議。它旨在允許冪等交易。服務器不存儲有關每個請求鏈的事務狀態信息。會話允許您減輕這種設計模式,並允許服務器跟蹤用戶的位置。爲了讓您知道用戶是否在頁面上,您需要將數據存儲在每個用戶所在的數據庫中。請記住,當用戶決定離開頁面時,只有當請求發送到不同的頁面時,服務器纔會知道它。

我假設您不需要跟蹤匿名會話信息,因此您可能需要覆蓋控制器操作,以確保用戶已登錄以保存用戶所在的位置。在渲染頁面之前,請確保用戶當前位置的數量等於呈現的頁面的數量爲0.

您可以在頁面上激發AJAX,更新用戶在這些頁面上的位置,以便確保已經存在沒有用戶在合理的超時時間內。如果沒有AJAX,您需要考慮用戶編輯信息的合理時間,並認爲非實際的時間量可能是實際的數量。

沒有'RAILS'功能可以打開以檢查用戶所在的位置,這可能是您自己的情況。

0

我認爲最好的方法是使用Redis的存儲(或存儲任何東西),或作臨時會話表,瞭解。 然後你可以授權show action來檢查你想要的任何東西。

相關問題