2013-10-03 2 views
0

내 레일 앱에는 User 프로필이 있으며이 프로필은 공개적으로 액세스 할 수 있습니다. 필자는 Pusher gem (https://github.com/pusher/pusher-gem)을 사용하여 플러그 앤 플레이 웹 소켓 사용을 내 응용 프로그램에서 사용하려고합니다.레일 및 웹 소켓 : 기능에 방향이 필요합니다.

기본적으로 사용자가 공개 프로필을보고 해당 프로필의 소유자가 해당 프로필을 업데이트하면 프런트 엔드가 새 정보로 업데이트되고 사용자가 맨 앞에서 알림을 받기를 원합니다. 업데이트에 대해 끝내십시오.

시작 위치에 대한 도움이 필요하십니까?

답변

1

공개 프로필마다 고유 한 채널 이름이 있습니다. <user_name>-profile.

사용자가 업데이트 될 때마다 user_name 님의 프로필이 사용자 채널에서 이벤트를 트리거하고 업데이트 된 데이터를 전달합니다. 이 브라우저는 해당 채널에 업데이트를 수신하는 코드가 실행 프로필 페이지에서

data = update_profile() 
Pusher.trigger('<user_name>-profile', 'profile-updated', {:profile => data}) 

는 :

var pusher = new Pusher(APP_KEY); 
var channel = pusher.subscribe('<user_name>-profile'); 
channel.bind('profile-updated', function(update) { 
    // Update UI to show new profile information 
    // Show something to indicate that an update has occurred 
}); 

여기서 하나의 문제는 당신이 때 아무도 심지어 이벤트를 트리거 할 것입니다 공개 프로필을보고 있습니다. 이 문제를 해결하려면 WebHooks을 사용하고 프로필 채널이 occupied인지 여부를 추적하고 이벤트가있는 경우에만 트리거해야합니다.

+0

팁을 주셔서 대단히 감사합니다 !! 나는 이것을 더 깊이 조사 할 것이다! – dennismonsewicz