2012-12-17 25 views
0

我需要一些建議:跟蹤的點擊來自多個用戶

我開發一個Rails應用程序在多個用戶點擊一個按鈕。我需要知道按鈕被點擊的次數,並在點擊量達到特定數量時禁用按鈕。

有什麼更好?

  1. 在按鈕表中包含一個名爲「clicks」的列,每次單擊該按鈕時將數字更新1?
  2. 創建一個點擊表並在每次單擊該按鈕時插入一行,然後檢查行數?
  3. 其他建議也會很好。

編輯

按鈕可以點擊每個用戶無數次,我需要知道哪些用戶造成按鈕禁用。

我最初的想法是用4列的表格:titlegoaluser_idcurrent_number ,只是由1每次遞增current_number和存儲,使數量達到目標用戶的用戶ID。

+0

「更好」真的取決於你想要做什麼。您需要在您的用例背後提供很少的上下文,以便我們能夠更好地回答您的問題。您可能想問自己的一些問題:這是否應該類似於「喜歡」按鈕?點擊是匿名還是與用戶對象關聯?該按鈕是否只允許每個用戶點擊一次,或者任何人都可以點擊該按鈕並將其增加無數次? – Noz

+0

@CycleHunter該按鈕可以爲每個用戶增加無限次數,並且我需要知道哪個用戶導致按鈕被禁用。 – Deekor

回答

0

您的第一個解決方案看起來很合適,我看到的唯一缺點是,一旦達到點擊的目標,您的current_number字段就會變得多餘,但我並不認爲有任何方法可以避免過度複雜化您的應用程序。

我認爲你可能能夠擴展的唯一可能是將某種背景排隊系統與redis後端結合,如ResqueSidekiq。但是,如果性能是一個問題,我只會低頭看這條路。

您可以在github上查看recommendable存儲庫,以獲得類似的使用後臺處理& redis的實現。