Вопрос

Мне интересно, как интегрировать node.js в приложение Rails (в целях обучения).

На основе руководства Майкла Хартла (http://railstutorial.org/) Я реализовал базовый клон Твиттера с рельсами и хочу получать микросообщения пользователей в режиме реального времени без использования Comet или Juggernaut.(приложение размещено на героку)

На данный момент я вижу только пример с фреймворками node.js (http://howtonode.org/grasshopper-shoutbox), но ничего не слилось с приложением Ruby on Rails.Я был бы очень благодарен, если бы кто-нибудь знал хорошее руководство или дал мне несколько советов, с которых можно начать, чтобы добиться этого.

Спасибо!

Это было полезно?

Решение

Как сказал Шрипад, я сам подумал о том, чтобы попытаться создать ваше приложение с узел. Гедди Буду почувствовать себя знакомым (в любом случае, начнем с работы), если у вас есть опыт работы с Rails. Примечание: у меня нет опыта в приложении Real World с Geddy, но это лучшая рамка, похожая на рельсы, я видел до сих пор. Для настойчивости вы можете использовать SQLite, PostgreSQL или CouchDB, как и с рельсами. Я думал о том, как общаться между приложением и узлом Rails без какого -либо посредника. В нашем рабочем проекте мы используем Redis в качестве посредника между рельсами и узлом. Rails публикует сообщения в Redis, Node вытаскивает сообщения от Redis. Я не мог найти хорошего способа или примеров проектов, чтобы избежать среднего уровня связи в личном проекте, поэтому я пошел с той же настройкой. Хорошая новость в том, что модули Node Redis написаны, и как только вы все установите, легко проверить сообщения взад и вперед.

Другие советы

Если вы хотите создавать приложения реального времени, используйте node.js (высокий параллелизм) отдельно.Вы действительно не можете интегрировать node.js в приложение Rails.Однако вы можете настроить сервер узла на другом порту с настроенными API и веб-сокетами, а затем настроить связь вашего приложения Rails с этим сервером.Это PITA, чтобы выполнить такую ​​настройку.Вы предпочитаете создавать все веб-приложение на самом узле.Однако, если вам нужно что-то конкретное для Rails, не использующее Juggernaut, я бы предложил http://www.pusherapp.com.

Настроить push-сервер с помощью Pusher чрезвычайно просто.

Это уже сделало. Не совсем Nodejs, а структура, построенная сверху, если он. Яда, Яда, Яда ... Проверьте это: https://github.com/1602/express-on-railway

** Запустите узел вдоль сервера Rails **

Если вы хотите перефразировать приложение Rails с узлом, вы можете использовать Узел-ролики драгоценный камень

Node Rails позволит вам запустить сервер узлов на стороне приложения Rails и иметь две Anwentication Authentication Noderails предполагают, что вы используете разработку для вашей аутентификации. Node-Rails использует [Redis Gem] [2], поэтому вам нужно будет установить это.Узнайте больше об использовании пакетов NPM на Rails.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top