سؤال

أتساءل عن كيفية دمج Node.js على تطبيق Rails (لغرض التعلم).

استنادًا إلى برنامج Michael Hartl Tutorial (http://railstutorial.org/) أدركت استنساخ تويتر الأساسي مع القضبان وأرغب في الحصول على microposts المستخدم في الوقت الفعلي دون استخدام المذنب أو الطاغوت. (يتم استضافة التطبيق على Heroku)

في الوقت الحالي ، أرى فقط مثالًا مع أطر عمل Node.js (http://howtonode.org/grasshopper-shoutbox) لكن لا شيء مدمج مع تطبيق Ruby on Rails. سأكون ممتنًا جدًا إذا كان شخص ما يعرف برنامجًا تعليميًا جيدًا أو أعطاني بعض النقاط لتبدأ من أجل تحقيق ذلك.

شكرًا!

هل كانت مفيدة؟

المحلول

كما قال شريباد ، سأفكر في محاولة بناء تطبيقك مع العقدة في حد ذاته. جيدي سيشعر بالمعرفة (البدء على أي حال) إذا كان لديك خبرة مع القضبان. ملاحظة: ليس لدي خبرة في تطبيق العالم الحقيقي مع Geddy ، لكنه أفضل إطار يشبه القضبان الذي رأيته حتى الآن. من أجل الثبات ، يمكنك استخدام SQLite أو PostgreSQL أو CouchDB ، تمامًا كما تفعل مع القضبان. فكرت في كيفية التواصل بين تطبيق Rails والعقدة دون أي وسيط. في مشروع عملنا ، نستخدم redis كوسيط بين القضبان والعقدة. تنشر Rails رسائل إلى Redis ، تقوم Node بسحب الرسائل من Redis. لم أتمكن من العثور على طريقة جيدة أو مثال على تجنب طبقة الاتصال الأوسط في مشروع شخصي ، لذلك ذهبت مع نفس الإعداد. والخبر السار هو أن وحدات Redis Node مكتوبة وبمجرد تركيب كل شيء ، من السهل اختبار دفع الرسائل ذهابًا وإيابًا.

نصائح أخرى

إذا كنت تبحث في إنشاء تطبيقات في الوقت الفعلي ، فاذهب مع node.js (تزامن عال) وحده. لا يمكنك حقًا دمج Node.js في تطبيق Rails. ومع ذلك ، يمكنك الحصول على إعداد خادم Node على منفذ آخر مع تكوين API و WebSockets ثم تتواصل تطبيق Rails الخاص بك مع هذا الخادم. إنه بيتا للقيام بهذا النوع من الإعداد. تفضل إنشاء تطبيق الويب بأكمله في العقدة نفسها. ومع ذلك ، إذا كنت تريد أي شيء محدد لا يستخدم الطاغوت ، فأنا أقترح http://www.pusherapp.com.

من السهل للغاية إعداد خادم الضغط باستخدام Pusher.

فعلت بالفعل. ليس حقا nodejs ولكن إطار عمل مبني على القمة إذا كان. Yada ، Yada ، Yada ... تحقق من ذلك: https://github.com/1602/express-on-railway

** قم بتشغيل العقدة بجانب خادم Rails الخاص بك **

إذا كنت ترغب في التفاعل في تطبيق Rails الخاص بك مع العقدة ، يمكنك استخدام عقدة القبائل الأحجار الكريمة

ستمكنك Rails Node من تشغيل خادم عقدة بجانب تطبيق Rails الخاص بك وجعل اثنين من مصادقة المشاركة تفترض أنك تستخدم ابتكارها للمصادقة. تستخدم Node-Rails [Redis GEM] [2] ، لذلك ستحتاج إلى تثبيت ذلك.تعرف على المزيد حول استخدام حزم NPM على القضبان.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top