1

我想对 HTML 文档进行实时更改。
当变量随事件发生变化时,HTTP 文档(.erb 文件)必须一起自动变化。

#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 -->

我怎样才能做到这一点?

4

1 回答 1

0

这根本不是一件容易的事。但通常方法如下:

  1. 客户端(为简单起见,想象一下浏览器)应该告诉服务器它想知道给定对象的状态变化;即它想订阅监听某些对象上发生的事件;
  2. 所有可能改变其状态的对象都应该放在 special queue
  3. 在服务器端,queue解析器在处理队列中给定的(下一个)对象后,应通知所有订阅的客户端对象的新状态。
  4. 现在客户已收到通知,他们可以根据收到的有关对象的新数据采取进一步的行动。例如,客户端可以更新页面的html部分。

再次,我不能在这里详细说,因为这不是那么简单。

查看以下项目以获取有关该主题的更多信息:

  1. 流星
  2. 事件机
于 2012-05-23T09:42:04.927 回答