Подтвердить что ты не робот

Ruby on rails и Node.js

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

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

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

Спасибо!

4b9b3361

Ответ 1

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

Ответ 2

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

Его чрезвычайно просто настроить нажим сервера с помощью Pusher.

Ответ 3

Это уже было. На самом деле не NodeJs, а фреймворк, построенный сверху, если он. Yada, yada, yada... проверьте это: https://github.com/1602/express-on-railway

Ответ 4

** Запустите node вдоль вашего сервера rails **

Если вы хотите связать приложение Rails с node, вы можете использовать node -rails gem

Node Rails позволит вам запускать сервер node рядом с вашим приложением Rails и иметь две аутентификации общего доступа. NodeRails предполагает, что вы используете Devise для вашей аутентификации. Node -Rails использует [redis gem] [2], поэтому вам нужно будет установить это. Узнайте больше об использовании пакетов npm в Rails.