2012-05-23 3 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
관련 문제