Я столкнулся с несколькими препятствиями, пытаясь реализовать систему публичного и частного чата в своем приложении rails 3. Я посмотрел на Фэй, Джаггернаута, node.js и многое другое. В конце концов, попробовав несколько подходов, я смог реализовать систему, которая прекрасно работает:
1) Я начал с того, что следовал видеоинструкции по обмену сообщениями в faye в Railscast 260 , как упомянул Девин М. новые сообщения всем клиентам. Самой большой проблемой была безопасность. У меня не было доступа к серверу чата.
2) Это привело меня к использованию драгоценного камня частного паба Райана Бейтса в Railscast 316 - который помогает защитить ваш сервер faye путем проверки подписи клиента. Это работало для защиты сервера, но я столкнулся с проблемами, пытаясь проверить фактического пользователя с помощью моей системы аутентификации и добавив функцию «кто в сети». Я работал над взломом частного паба, чтобы передать детали пользователя при аутентификации, но не мог заставить вещи работать гладко.
3) В конце концов я решил переместить сервер чата на pusher - размещенный API для приложений реального времени. Я следовал этому уроку по , как создать опрос в реальном времени на рельсах , чтобы понять, как это настроить. Хотя это не было непосредственно о настройке системы чата - этот учебник вместе с тем, что я уже настроил из Railscasts выше (и легко читаемыми документами толкателя), позволил мне быстро настроить безопасное приложение чата rails 3 - в комплекте с аутентификацией , кто в сети, статусные сообщения и многое другое. Самое приятное в том, что ... мне не нужно управлять сервером чата.
Надеюсь, это поможет кому-то пройти тот же процесс, что и я.