2010-08-20 25 views
27

Zastanawiam się, jak zintegrować node.js z aplikacją rails (do celów edukacyjnych).Ruby on rails i Node.js

Na podstawie samouczka Michaela Hartla (http://railstutorial.org/) zdałem sobie sprawę z prostego klonu twitterów z szynami i chcę uzyskać mikroposty użytkownika w czasie rzeczywistym bez użycia komety lub juggernaut. (aplikacja jest hostowana na heroku)

Na razie widzę tylko przykład z frameworkami node.js (http://howtonode.org/grasshopper-shoutbox), ale nic nie łączy się z aplikacją ruby ​​na szynach. Byłbym bardzo wdzięczny, gdyby ktoś znał dobry tutorial lub dał mi kilka punktów do rozpoczęcia, aby to osiągnąć.

Dzięki!

Odpowiedz

13

Jak powiedział Shripad, chciałbym spróbować samodzielnie zbudować aplikację z Węzłem. Geddy poczuje się znajomo (mimo wszystko), jeśli masz doświadczenie z Railsami. Uwaga: Nie mam doświadczenia w prawdziwym świecie aplikacji z Geddy, ale jest to najlepszy framework Railsowy jaki widziałem do tej pory. Do utrzymywania można użyć SQLite, PostgreSQL lub CouchDB, tak jak w przypadku Rails. Zastanawiałem się, jak komunikować się między aplikacją Rails i węzłem bez pośrednika. W naszym projekcie roboczym używamy Redis jako pośrednika między Railsami i Node. Railsy publikują komunikaty do Redis, Node pobiera wiadomości z Redis. Nie mogłem znaleźć dobrej drogi lub przykładowych projektów, aby uniknąć środkowej warstwy komunikacyjnej w osobistym projekcie, więc poszedłem z tą samą konfiguracją. Dobrą wiadomością jest to, że moduły Node Redis są zapisywane, a gdy wszystko zostanie już zainstalowane, łatwo przetestować wysyłanie wiadomości tam i z powrotem.

+2

+1 dla Geddy. Musisz to teraz sprawdzić. :) –

+0

Dziękuję wam! – user425891

+2

Możesz również sprawdzić http://www.perfectline.ee/blog/optimizing-ruby-on-rails-application-with-nodejs na podobny przypadek –

4

Jeśli szukasz tworzenia aplikacji czasu rzeczywistego, przejdź do trybu node.js (wysoka współbieżność). Naprawdę nie możesz zintegrować node.js z aplikacją rails. Możesz jednak skonfigurować serwer węzła na innym porcie z api i skonfigurowanymi połączeniami internetowymi, a następnie skonfigurować aplikację szyny do komunikacji z tym serwerem. To PITA robi tego rodzaju konfigurację. Raczej budujesz całą aplikację internetową w samym węźle. Jednakże, jeśli chcesz coś konkretnego szyn, które nie używają juggernaut to sugerowałbym http://www.pusherapp.com.

Jego niezwykle łatwy w konfiguracji serwer push przy użyciu Pusher.

0

** węzeł biegną wzdłuż bocznej serwera szyn **

Jeśli chcesz Intergrate aplikacja Rails z węzła można użyć node-rails gem

Węzły Railsowe umożliwiają uruchamianie serwera Node obok aplikacji Rails i uwierzytelnianie w dwóch udziałach NodeRails zakłada, że ​​używasz Devise do uwierzytelnienia. Node-Rails używa [redis gem] [2], więc będziesz musiał to zainstalować. Learn more about using npm packages on Rails.