2012-02-05 43 views
2

我需要在一些建議的實時服務器計時器,將從100秒倒計時。服務器端計時器的原因不是篡改。實時定時器,倒計時紅寶石的軌道上的應用程序

  • 目前使用延遲的工作,但問題它不是實時的,我可以模擬由creatind工作計時器每一秒,但骯髒的解決方案

  • 需要通過獲取定時器的值與Ajax調用方法來顯示,鑑於時間返回頁面上的servertime。知道如何做到這一點只是爲了給出想法。即使在重新加載頁面上,重新加載定時器仍然會正確倒計時。

任何人都可以建議在Rails應用服務器端獲得實時計數器?我想創建一個或多個獨立的定時器,我可以從railsapp中獲取值。

+0

它爲什麼重要?爲什麼不只是有時間讓你倒數工作? – cHao 2012-02-05 20:26:44

+0

是的也可以,但需要它是在我的railsapp中,在後臺查詢它的時候像deamon一樣運行的servertimer。我需要這個功能有很好的理由來複雜的去描述 – Rubytastic 2012-02-05 20:45:00

+0

如果原因很複雜,那可能不像你想象的那麼好。簡單幾乎總是更好。 – cHao 2012-02-06 01:13:10

回答

1

你爲什麼不創建你需要的記錄,但添加一個「不要打開之前」日期時間字段,你可以檢查它是否可以顯示它?

這種事情是微不足道的,你可以在客戶端設置一個計時器在JavaScript中倒計時,然後在適當的時候用最終數據重新加載頁面。如果有人不耐煩和早期重新加載,你可以計算的剩餘秒數可以用簡單的數學方可展示:

time_left_in_seconds = record.show_at.to_i - Time.now.to_i 

然後,所有你需要做的是顯示該秒數一個JavaScript計時器,然後觸發頁面刷新。

+0

在視圖方面很好的部分解決方案,但可以通過編輯JS篡改?我需要serverside重新加載頁面的一些參數從應用程序不能確定這可能與您的解決方案,但爲解決計時器倒計時可以很好的thx! – Rubytastic 2012-02-05 21:07:40

+0

您可以隨意使用客戶端計時器,而不會改變服務器拒絕咳嗽貨物直到show_at時間到達的事實。如果需要,可以重新加載頁面,或者使用有用的jQuery'get'函數來刷新頁面的一部分。 – tadman 2012-02-05 21:34:16