2012-05-23 82 views
1

我想在HTML文檔中進行實時更改。
當事件發生變化時,HTTP文檔(.erb文件)必須自動更改。如何使Rails實時網頁?

#controller.rb 

puts("Downloading...") 

bt = RubyTorrent::BitTorrent.new("public/files/ubuntu.torrent") 
bt.on_event(self, :complete) { @donemessage="Done!" } #<-- This event 


#index.html.erb 
<h1>Transfers</h1> 
<p><%= @donemessage %></p> <!-- <- This must be changed --> 

我該怎麼做?

回答

0

這根本不是一件容易的事。但一般的方法如下:

  1. 客戶端(爲簡單起見,想一下瀏覽器)應告訴服務器,它想知道給定對象的狀態變化;即它想訂閱聽某些對象上發生的事件;
  2. 所有可能改變其狀態的對象都應該放在特殊的queue;
  3. 在服務器端,queue解析器在處理完隊列中的給定(下一個)對象之後,應該通知所有訂閱的客戶端有關對象的新狀態。
  4. 現在,通知客戶,他們可以根據他們收到的對象的新數據做出進一步的操作。例如,客戶端可以更新頁面的html部分。

再次,我不能在這裏詳細講,因爲這不是那麼簡單。

看看下面的項目以取得該主題的更多信息:

  1. Meteor
  2. EventMachine