2012-02-23 2 views
1

Stackoverflow는 토론을 원하지 않으므로 여기에서 답을 묻는 질문을 시도 할 것입니다. 기본적으로 몇 가지 기능이있는 관리 영역을 구축하고 있습니다. 기한, 일종의 정상적인 물건과 같은 열.레일 :로드 된 페이지의 내용을 업데이트해야합니다.

그러나 서버의 속성 변경시 비 폴링 업데이트를 허용하는 기술이 사용자로드 페이지에 반영됩니까?

테이블의 데이터는 서버에 대한 JSON 호출에서 가져오고 일부 자바 스크립트로 테이블에 렌더링됩니다. 진짜 간단한 물건. 예를 들어 질문해야하는 경우. 물론, 이름과 성의 테이블.

Homer | Simpson 
Lisa | Simpson 
Bart | Simpson 

이 페이지는 내가 아니라, 테이블 디스플레이에 업데이트, 업데이트 된 이름이 될하고자, 사용자가 페이지를 새로 고침하지 않고, Remoh에 호머을 변경 한 후 경우에, 우리의 많은 사용자에 열립니다.

Websocket 또는 pub/sub 패턴과 관련이 있습니까?

감사합니다.

답변

0

당신이 생각하는대로 websocket 또는 pub/sub 시스템을 찾고 있습니다.

레일스 애플리케이션이고 AJAX를 사용하는 경우 - 두 가지 모두 사실 인 것처럼 들리면 최상의 방법은 전체 프로세스를 원활하고 쉽게 만드는 Juggernaut입니다.

사용하기가 비교적 쉽지 않으며 작성자는 Holla이라는 훌륭한 샘플 앱을 사용하여 거의 자체적으로 문제를 해결합니다.

0

질문을 올바르게 이해하면 페이지를 새로 고칠 필요없이 모델 데이터의 모든 변경 사항을 관리자 패널에 반영하고 싶습니다. 그것은 단순한 일로 생각됩니다. AJAX.

admin 페이지에 대한 js.erb 파일에서 변경 사항을 x 초마다 폴링하고 해당 쿼리의 결과가 현재 표시된 내용과 다른 경우. 테이블의 데이터를 업데이트하십시오.

물론 이것은 setTimeOut으로 함수를 호출하는 빈도에 따라 제한됩니다. 그러나 더한면은 사용자가 원하는대로 조정할 수 있다는 것입니다.

'즉시 사용 가능'하고 더 즉각적인 것을 원하는 경우. @ Veraticus의 제안과 함께 갈 것입니다.

+0

네, 그게 내가하고 싶은 일이고 새로 고침이 덜한 업데이트입니다. 그러나 내가 언급했듯이, 나는 서버를 폴링하지 않고 그것과 함께하는 것을 선호한다. 그래서 나는 websocket pub/sub stuff와 함께 갈 것이라고 생각한다. –

관련 문제