Я думаю, что это не так сильно связано с ruby-on-rails ... но это очень сложно реализовать в HTTP только с языком сценариев. Сервер не знает, закрыл ли пользователь браузер или нет. Сервер выполняет только отправку запрошенных данных страницы пользователю и закрывает соединение.
Вы бы предпочли интегрировать Ajax или Flash, чтобы упростить процесс. Я видел некоторых людей, разрабатывающих программы чата с flash, и кажется, что они работают намного лучше, чем любые другие программы чата, реализованные в AJAX.
Чат очень неблагоприятен в контексте просмотра веб-страниц, так как страница будет перезагружаться, когда пользователь нажимает на ссылку. Если вы думаете о создании приложения, которое поддерживает только функцию чата, вы, вероятно, захотите посмотреть что-то кроме ruby на рельсах. Например, node.js будет хорошим.