Me encontré con varias barricadas cuando traté de implementar un sistema de chat público y privado en la aplicación my rails 3. Miré faye, juggernaut, node.js y más. Finalmente, después de probar varios enfoques, pude implementar un sistema que funciona a la perfección:
1) Empecé siguiendo la guía de video para faye mensajería en Railscast 260 mencionada por Devin M. Pude configurar rápidamente una aplicación de rieles que mensajes persistentes y un servidor de chat que envió estos nuevos mensajes a todos los clientes. El mayor problema fue la seguridad. No tenía control sobre el acceso al servidor de chat.
2) Esto me llevó a utilizar la joya del pub privado por Ryan Bates en Railscast 316 - que ayuda a proteger su servidor faye al verificar la firma del cliente. Esto funcionó para proteger el servidor, pero me encontré con problemas al intentar verificar el usuario real con mi sistema de autenticación y agregar la funcionalidad 'quién está en línea'. Trabajé en una hack de pub privado para pasar los detalles del usuario al autenticar pero no pude hacer que las cosas funcionaran sin problemas.
3) Al final decidí mover el servidor de chat al pusher, una API alojada para aplicaciones en tiempo real. Seguí este tutorial en how to create a real-time survey in rails para tener una idea de cómo configurar las cosas. Aunque no directamente sobre la configuración de un sistema de chat, este tutorial junto con lo que ya había configurado desde Railscasts (y los documentos de empuje fáciles de leer), me permitió configurar rápidamente una aplicación de chat de rieles seguros 3, completada con autenticación , 'quién está en línea', mensajes de estado y más. La mejor parte es ... No tengo que lidiar con la administración del servidor de chat.
Espero que esto ayude a alguien a pasar por el mismo proceso que yo.
¿Desea punteros o un tutorial? –