freeCodeCamp/guide/arabic/ruby/ruby-on-rails/index.md

106 lines
9.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Ruby on Rails
localeTitle: روبي على القضبان
---
# روبي على القضبان
[روبي على القضبان](http://rubyonrails.org/) هو إطار من جانب الخادم (جوهرة) بنيت على لغة روبي لجعل المواقع. يجعل القضبان تطوير الويب أسرع وأسهل وأكثر متعة. ويشمل كل ما تحتاجه لبناء تطبيقات رائعة ولديه مجتمع كبير. تم إنشاء Rails بواسطة David Heinemeir Hansson وهو حاليًا في الإصدار الخامس منه. تؤكد القضبان على استخدام نماذج وأنماط هندسة البرمجيات المعروفة الأخرى ، بما في ذلك [الاتفاقية على التكوين (CoC)](https://en.wikipedia.org/wiki/Convention_over_configuration) ، [ولا تكرر نفسك (DRY)](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) ، ونمط السجل النشط. القضبان هي إطار [للتحكم في نموذج الرؤية (MVC)](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) ، وتوفر الهياكل الافتراضية لقاعدة البيانات ، وخدمة ويب ، وصفحات الويب. في الآونة الأخيرة ، قامت Rails بدمج وحدة واجهة برمجة التطبيقات (API) لجعل إنشاء خدمات الويب أسرع وأسهل.
## تثبيت القضبان
يتم تنزيل القضبان بنفس الطريقة مثل أي جوهرة روبي أخرى: باستخدام الأمر `gem install` . قبل تنزيله ، سنحتاج إلى [تنزيل Ruby](https://www.ruby-lang.org) . بعد ذلك ، نحن على بعد 3 كلمات فقط من بداية روبي أون ريلز:
`$ gem install rails
`
## إعداد قاعدة البيانات
القضبان السفن مع sqlite3 كقاعدة البيانات الافتراضية ، وهو ملف بسيط على القرص. تحتاج إلى تثبيت MySQL أو PostgreSQL إذا كنت تريد استخدام شيء أكثر قوة.
## إنشاء تطبيق القضبان
1. بعد تثبيت Ruby on Rails ، من السهل جدًا إنشاء تطبيق جديد تمامًا ، سنحتاج إلى 3 كلمات أخرى:
`$ rails new your_application_name
`
* إذا كنت ترغب في استخدام MySQL `shell $ rails new <application_name> -d mysql`
* إذا كنت ترغب في استخدام بوستجرس `shell $ rails new <application_name> -d postgresql`
1. سيقوم هذا الأمر بإنشاء مجلد اسم _التطبيق_ الخاص بك_ الذي أبلغته في الأمر الأخير. الخطوة التالية هي الانتقال إلى الدليل الجديد الذي أنشأته للتو:
`$ cd your_application_name
`
3. احصل على الجواهر والحزم اللازمة قبل تشغيل التطبيق الخاص بك:
`$ bundle install
`
4. لتشغيل خادم سكك الحديد ومعرفة ما إذا كان كل شيء يسير على هذا النحو سريعًا أيضًا:
`$ rails server
`
لا يمكن أن يكون الأمر بسيطا بعد الآن! حسنًا ، هذا ليس صحيحًا بنسبة 100٪ ، يمكننا جعله أصغر من خلال تقليل أمر `rails server` إلى:
`$ rails s
`
5. الآن ، مع المتصفح المفضل لديك ، انتقل إلى `http://localhost:3000` وستشاهد: "Yay! أنت على القضبان!"
### طريقة بديلة لإنشاء تطبيق Rails
1. قم بإنشاء دليل جديد:
`$ mkdir <application_name>
`
2. اذهب إلى الدليل الجديد:
`$ cd <application_name>
`
3. قم بإنشاء تطبيق Rails باستخدام تدوين النقطة Unix. ينتج عن هذا تعيين اسم الدليل إلى التطبيق الجديد.
`$ rails new .
`
4. ابدأ في استكشاف إطار التطبيق الذي أنشأته للتو. يتم تنظيم بنية المجلد وفقًا للجدول أدناه:
| ملف / مجلد | الغرض |
| ----------- | ------- |
| التطبيق / | يحتوي على وحدات التحكم ، والنماذج ، وجهات النظر ، والمساعدين ، والرسائل البريدية ، والقنوات ، والوظائف والممتلكات الخاصة بتطبيقك. سوف تركز على هذا المجلد لما تبقى من هذا الدليل. |
| بن / | يحتوي على النص البرمجي للسكك الحديدية الذي يبدأ تطبيقك ويمكن أن يحتوي على نصوص برمجية أخرى تستخدمها في إعداد التطبيق أو تحديثه أو نشره أو تشغيله. |
| config / | قم بتكوين مسارات التطبيق وقاعدة البيانات والمزيد. يتم تناول ذلك بمزيد من التفصيل في تكوين تطبيقات Rails. |
| config.ru | تهيئة الحامل للخوادم القائمة على Rack والمستخدمة لبدء التطبيق. |
| ديسيبل / | يحتوي على مخطط قاعدة البيانات الحالي ، بالإضافة إلى عمليات ترحيل قاعدة البيانات. |
| Gemfile ، Gemfile.lock | تتيح لك هذه الملفات تحديد تبعيات الأحجار الكريمة اللازمة لتطبيق Rails. يتم استخدام هذه الملفات بواسطة جوهرة Bundler. لمزيد من المعلومات حول Bundler ، راجع موقع Bundler. |
| lib / | الوحدات الموسعة للتطبيق الخاص بك. |
| سجل / | ملفات سجل التطبيق. |
| عام / | المجلد الوحيد الذي يراه العالم كما هو. يحتوي على ملفات ثابتة والأصول المترجمة. |
| Rakefile | يحدد هذا الملف موقع المهام التي يمكن تشغيلها من سطر الأوامر ويقوم بتحميلها. يتم تعريف تعريفات المهمة في جميع أنحاء مكونات القضبان. بدلاً من تغيير Rakefile ، يجب إضافة المهام الخاصة بك عن طريق إضافة ملفات إلى دليل lib / tasks الخاص بالتطبيق. |
| README.md | هذا دليل تعليمات موجزة لتطبيقك. يجب عليك تحرير هذا الملف لإخبار الآخرين بما يفعله تطبيقك ، وكيفية إعداده ، وما إلى ذلك. |
| اختبار / | اختبارات الوحدة والتركيبات وأجهزة الاختبار الأخرى. يتم تغطيتها في تطبيقات اختبار القضبان. |
| تمة / | ملفات مؤقتة (مثل ذاكرة التخزين المؤقت وملفات pid). |
| بائع / | مكان لكل رمز الطرف الثالث. في تطبيق Rails نموذجي يتضمن هذا الأحجار الكريمة المورِّد. |
| .gitignore | يخبر هذا الملف git الملفات (أو الأنماط) التي يجب تجاهلها. انظر جيثب - تجاهل الملفات لمزيد من المعلومات حول تجاهل الملفات. |
أفضل مكان للبدء في هذا الإطار الرائع هو قراءة [صفحة "الخطوات الأولى"](http://guides.rubyonrails.org/getting_started.html) .
## اتفاقية على التكوين
تعني _الاتفاقية على التكوين_ أن مطور البرامج يحتاج فقط إلى تحديد جوانب غير تقليدية من التطبيق. على سبيل المثال ، إذا كان هناك فئة `Sale` في النموذج ، يسمى الجدول المقابل في قاعدة البيانات `sales` بشكل افتراضي. فقط إذا كان أحد ينحرف عن هذه الاتفاقية ، مثل استدعاء "المنتجات المباعة" للجدول ، يحتاج المطور إلى كتابة كود بخصوص هذه الأسماء. بشكل عام ، تؤدي مؤتمرات Ruby on Rails إلى رموز أقل وتكرار أقل.
## ما هو MVC؟
يحتوي النموذج (السجل النشط) على منطق الأعمال ويتفاعل مع قاعدة البيانات. المشاهدات (مشاهدات الإجراءات) جميع ملفات HTML وهيكلها. تتفاعل وحدة التحكم (متحكم العمل) مع وجهات النظر والطراز لتوجيه إجراءات التطبيق.
## جافة - لا تكرر نفسك
ا تعيد نفسك_ تعني أن المعلومات تقع في مكان واحد لا لبس فيه. على سبيل المثال ، باستخدام الوحدة النمطية ActiveRecord من Rails ، لا يحتاج المطور إلى تحديد أسماء أعمدة قاعدة البيانات في تعريفات الفئة. بدلاً من ذلك ، يمكن لـ Ruby on Rails استرداد هذه المعلومات من قاعدة البيانات استنادًا إلى اسم الفئة.
## روبي على القضبان مفتوح المصدر
ليس فقط للاستخدام المجاني ، بل يمكنك أيضًا المساعدة في تحسينه. أكثر من 4500 شخص قد ساهموا بالفعل بكود في [القضبان](https://github.com/rails/rails) . إنه أسهل مما تظن أنه واحد منهم.