دروس روبي أون ريلز

⚡ ملخص ذكي

يقدم هذا الدليل التعليمي إطار عمل Ruby on Rails، وهو إطار عمل ويب مفتوح المصدر مكتوب بلغة Ruby، ويُستخدم في تطبيقات Airbnb وGitHub وShopify. ويغطي الدليل عملية التثبيت على Windows، ماك، ولينكس، مولدات ريلز، التوجيه، طرق العرض، ActiveRecord، عمليات التحقق، وتصحيح الأخطاء.

  • 💎 اللغة والإطار: روبي هي لغة ديناميكية كائنية التوجه مصممة لسهولة القراءة، وريلز هو إطار عمل MVC متكامل مبني عليها لبناء السفنping تطبيقات الويب بسرعة.
  • 🛠️ إعداد متعدد المنصات: قم بتثبيت Ruby and Rails على Windows باستخدام RubyInstaller، وعلى نظام Mac من خلال Homebrew، وعلى Ubuntu نظام لينكس عبر apt متبوعًا بتثبيت gem rails.
  • 🏛️ المبادئ التوجيهية: يفرض Rails مبدأ عدم تكرار نفسك والالتزام بالاتفاقية بدلاً من التكوين، بحيث تكتب الفرق شيفرة أقل وتتبع هيكل مشروع يمكن التنبؤ به.
  • ⚙️ Generatorالتوجيه والتحويل: استخدم أداة rails generate scaffold لإنشاء كود CRUD، ثم اعتمد على ملف config/routes.rb لربط RESTful URLs للتحكم في الإجراءات في ثوانٍ.
  • 🗄️ قوة ActiveRecord: يقوم ActiveRecord بربط فئات Ruby بجداول قواعد البيانات، ويدعم عمليات الترحيل والارتباطات والتحقق من الصحة، ويحافظ على اتساق البيانات عبر البيئات المختلفة.

دروس روبي أون ريلز

ما هو روبي؟

روبي روبي هي لغة برمجة عالية المستوى، تفسيرية، وموجهة للكائنات. وهي لغة ديناميكية مفتوحة المصدر تحظى بدعم مجتمع كبير. صُممت روبي لتكون بسيطة وفعّالة، وتشجع على كتابة برامج تراعي احتياجات المستخدم أولاً ثم احتياجات الحاسوب ثانياً. ابتكر يوكيهيرو ماتسوموتو لغة روبي في اليابان عام ١٩٩٥.

ما هو القضبان؟

القضبان Rails هو إطار عمل تطويري مكتوب بلغة Ruby لبناء تطبيقات الويب. تم إنشاؤه كأساس لتطبيق Basecamp، ثم تم إصداره كبرنامج مفتوح المصدر في عام 2004. يوفر Rails العديد من الميزات والوظائف القياسية المدمجة، مما يجعله خيارًا مناسبًا لنموذج MVP الأولي.ping والتطوير السريع للمنتجات.

تم تطوير Rails بواسطة ديفيد هاينماير هانسون، المعروف اختصاراً بـ DHH. وهي إحدى أكثر الأدوات تأثيراً وشعبية في بناء تطبيقات الويب، وتستخدمها مواقع رئيسية مثل Airbnb وGitHub وShopify.

لماذا القضبان؟

قبل تثبيت مجموعة الأدوات، من المفيد فهم سبب بقاء Rails خيارًا شائعًا لبناء السفنping تطبيقات الويب بسرعة.

  • يتم تجميع Rails كحزمة Ruby gem، ويمكنك استخدامها لبناء مجموعة واسعة من التطبيقات.
  • يتيح لك إنشاء تطبيقات ويب عادية، ومواقع للتجارة الإلكترونية، وأنظمة إدارة المحتوى، وغير ذلك الكثير.
  • Rails هو إطار عمل متكامل يتضمن كل ما تحتاجه لإنشاء تطبيق ويب يعتمد على قاعدة بيانات باستخدام نمط Model-View-Controller (MVC).
  • تم تصميم جميع الطبقات للعمل معًا بسلاسة، لذلك تحتاج مشاريع Rails عادةً إلى عدد أقل من أسطر التعليمات البرمجية مقارنة بالمشاريع المماثلة في الأطر الأخرى.

كيفية تنزيل وتثبيت روبي على Windows

تعتمد عملية التثبيت على نظام التشغيل الخاص بك. تتناول الأقسام التالية تثبيت Ruby على Windowsو Mac و لينكس.

الخطوة 1) قم بتنزيل برنامج Rubyinstaller.
أسهل طريقة لتثبيت روبي على جهازك Windows يتم تشغيل الكمبيوتر من خلال برنامج تثبيت Ruby، المتوفر على الموقع الإلكتروني التالي: https://rubyinstaller.org/.

بعد التنزيل، قم بتشغيل برنامج التثبيت.

الخطوة 2) انقر على ملف التثبيت الذي تم تنزيله.
Doubleانقر على ملف التثبيت الذي تم تنزيله، على سبيل المثال rubyinstaller-2.4.1-2-x64.exe.

الخطوة 3) اقبل الترخيص.
حدد زر "أوافق على الترخيص" ثم انقر على زر "التالي". ستظهر لك الشاشة الموضحة أدناه.

قم بتنزيل وتثبيت روبي على Windows

الخطوة 4) حدد المربعين الأولين.
قم بتحديد مربعي الاختيار الأولين لتسهيل تشغيل نصوص Ruby.

انقر على زر "تثبيت" لبدء عملية التثبيت. ستظهر لك الشاشة الموضحة أدناه عند اكتمالها.

قم بتنزيل وتثبيت روبي على Windows

الخطوة 5) انقر فوق "إنهاء".
لا تقم بإلغاء تحديد خيار تثبيت MSYS2. انقر فوق "إنهاء" لإكمال التثبيت. ستُفتح نافذة موجه الأوامر كما هو موضح أدناه.

قم بتنزيل وتثبيت روبي على Windows

الخطوة 6) قم بتثبيت MSYS2.
تقوم هذه الخطوة بتثبيت MSYS2، وهي منصة بناء تتضمن مدير حزم لتسهيل تثبيت الحزم على Windows.

اضغط على مفتاح الإدخال لتثبيت جميع المكونات، حيث إنها جميعًا مطلوبة لبيئة تطوير Ruby on Rails سلسة. Windows.

قم بتنزيل وتثبيت روبي على Windows

تركيب القضبان

يجب أن تكون قد ثبّت Ruby من القسم السابق. بعد ذلك، ثبّت Rails. يمكنك تثبيت Rails باستخدام حزمة من المثبت القضبانلكن الحزمة غالباً لا تتضمن أحدث إصدار من كل التبعيات المطلوبة.

إذا كنت قد قمت بالفعل بتثبيت أحدث إصدار من Ruby و RubyGems الأساسية والملحقات، فما عليك سوى تشغيل الأمر التالي في موجه الأوامر لتثبيت Rails على نظامك: gem install rails.

سوف تحتاج أيضا إلى التثبيت Node.js إذا لم يكن لديك بالفعل، لأن بعض المكتبات التي يعتمد عليها Rails تتطلب ذلك Javaيجب أن يعمل وقت تشغيل البرنامج النصي بشكل صحيح. احصل على Node من https://nodejs.org.

نهج أكثر شيوعاً وتفضيلاً في Windows هو استخدام Windows نظام فرعي لنظام لينكس. يوفر بيئة GNU/Linux مع أدوات سطر الأوامر، والبرامج المساعدة، والتطبيقات الشائعة مباشرةً داخله. Windows.

تثبيت روبي على ماك

يأتي جهاز Mac الخاص بك مزودًا ببرنامج Ruby مثبتًا مسبقًا. ومع ذلك، غالبًا ما تكون النسخة المثبتة مسبقًا قديمة، لذا يُنصح بتثبيت نسخة أحدث.

أسهل طريقة للقيام بذلك هي استخدام مدير حزم مثل البيرةقد تحتاج أولاً إلى تثبيت Homebrew عن طريق تشغيل الأمر أدناه في Terminal.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ستظهر لك رسالة تحذيرية تطلب منك إدخال كلمة مرورك. أدخل كلمة مرور جهاز Mac الخاص بك (لن تظهر الأحرف أثناء الكتابة) واضغط على مفتاح الإدخال (Enter) عند الانتهاء. ثم شغّل أمر Homebrew هذا لتثبيت Ruby على جهاز Mac الخاص بك.

brew install ruby

ثم قم بتشغيل هذا الأمر:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

يؤدي هذا إلى تعيين تثبيت Ruby الجديد كـ Ruby الافتراضي على نظامك بدلاً من Ruby المثبت مسبقًا.

للتأكد من نجاح التثبيت، قم بتشغيل الأمر التالي في الطرفية:

ruby --version

هذا الأمر يطبع رقم إصدار Ruby المثبت لديك. سيكون الناتج على النحو التالي:

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

تثبيت روبي على Ubuntu (لينكس)

أسهل طريقة لتثبيت روبي على Ubuntu يتم ذلك من خلال مدير الحزم apt. قم بتشغيل الأوامر التالية في الطرفية لتثبيت أحدث إصدار من Ruby من Ubuntu المستودعات.

  • تحديث sudo apt – هذا يُحدّث الإعداد الافتراضي Ubuntu المستودعات.
  • sudo apt install ruby-full – يقوم هذا بتنزيل وتثبيت أحدث إصدار من Ruby.

للتأكد من التثبيت، قم بتشغيل إصدار روبيهذا يطبع إصدار Ruby الذي قمت بتثبيته.

تثبيت القضبان على Ubuntu (لينكس)

اتبع الخطوات التالية لتثبيت Rails على جهاز Linux الخاص بك.

الخطوة 1) قم بتحديث مدير الأحجار الكريمة الخاص بك عن طريق تشغيل تحديث الجوهرة - النظام في الطرفية أو موجه الأوامر.

الخطوة 2) يجري تثبيت قضبان الأحجار الكريمة لتثبيت أحدث إصدار من Rails على جهاز الكمبيوتر الخاص بك.

الخطوة 3) قم بتثبيت حزمة Bundler لإدارة تبعيات الحزم بسهولة في تطبيق Rails. شغّل حزمة تثبيت الأحجار الكريمة.

مبدأان أساسيان للسكك الحديدية

تتبع Rails مبادئ تصميم البرمجيات الأساسية وتشجعك على استخدامها أيضًا.

النوعان الأكثر شيوعًا هما:

  • لا تكرر نفسك (جاف) – وهذا يؤدي إلى كود موجز ومتسق وقابل للصيانة.
  • اتفاقية على التكوين – يأتي Rails مُهيأً مسبقاً بإعدادات افتراضية مناسبة تُلائم معظم الاستخدامات الشائعة. هذا يجعل تطوير التطبيقات سريعاً ويُقلل من حجم الكود المطلوب صيانته.

القضبان – هياكل ملفات المشروع

بعد تثبيت Rails على جهازك، أنشئ تطبيق Rails. ستشرح الأقسام التالية مثالًا عمليًا باستخدام Ruby on Rails من خلال إنشاء تطبيق قائمة مهام. شغّل الأمر التالي في سطر الأوامر لإنشاء التطبيق:

rails new todo_app

يقوم هذا الأمر بإنشاء دليل باسم تطبيق المهام في الدليل الحالي مع بنية المجلدات الأساسية لتطبيق ويب Rails، كما هو موضح أدناه.

القضبان – هياكل ملفات المشروع

فيما يلي المجلدات الرئيسية التي تم إنشاؤها للمشروع:

التطبيق – تجمع الدلائل الفرعية لواجهة المستخدم/التخطيط (العروض والمساعدين)، ووحدة التحكم (ملفات وحدات التحكم)، والنماذج (منطق الأعمال/التطبيق).

التطبيق/وحدات التحكم – يخزن ملفات التحكم التي يستخدمها Rails لمعالجة الطلبات الواردة من العميل.

التطبيق/الأصول – يحتوي على ملفات ثابتة يحتاجها واجهة المستخدم الأمامية للتطبيق، مصنفة حسب النوع: Javaسيناريو الملفات والصور وأوراق الأنماط.

التطبيق/المساعدين - يحتوي على وظائف مساعدة تحافظ على نموذج التطبيق، والعرض، ومنطق وحدة التحكم الخاص بك مركزًا وصغيرًا وغير مزدحم.

التطبيق/النماذج – يحتوي على ملفات تُحاكي قاعدة بيانات تطبيقك. تُسهّل فئات النموذج التعامل مع قاعدة البيانات بشكل كبير.

التطبيق/المشاهدات – يحتوي على ملفات القوالب/التصميم التي يتفاعل معها مستخدم تطبيقك. تجمع القوالب بين لغة HTML والبيانات من قاعدة البيانات.

بن – يحتوي على نصوص برمجية خاصة بـ Rails لتشغيل تطبيقك. ويمكن أن يتضمن أيضًا نصوصًا برمجية أخرى تستخدمها لإعداد التطبيق وترقيته.

التكوين – يحتوي على ملفات التكوين مثل قاعدة بيانات.yml، بيئة.rb، طرق.rbإلخ، التي يحتاجها تطبيقك للتشغيل.

db – يحتوي على ملفات وبرامج نصية تُستخدم لإدارة قاعدة بيانات التطبيق الخاص بك.

ليب – يحتوي على وحدات إضافية لتطبيقك.

سجل – يحتوي على ملفات سجلات مثل server.log وdevelopment.log وtest.log وproduction.log، تُستخدم لتصحيح الأخطاء أو مراقبة تطبيقك.

جمهور – يحتوي على ملفات ثابتة وموارد مُجمّعة، مثل ملفات HTML، Javaملفات البرامج النصية والصور وأوراق الأنماط.

تجربه بالعربي – يحتوي على ملفات اختبار تقوم بكتابتها لاختبار وظائف تطبيقك.

TMP – يحتوي على ملفات مؤقتة مثل ملفات ذاكرة التخزين المؤقت وملفات تعريف العمليات.

بائع – يحتوي على مكتبات تابعة لجهات خارجية.

gemfile – يحدد هذا القسم متطلبات الجواهر الأساسية لتشغيل تطبيق الويب الخاص بك. يمكنك تجميع الجواهر في مجموعات التطوير والاختبار والإنتاج، وسيعرف Rails متى يجب تضمين كل جوهرة.

Gemfile.lock على عكس ملف Gemfile الذي يسرد صراحةً الجواهر التي تريدها في تطبيقك، يحتوي ملف Gemfile.lock أيضًا على جواهر أخرى تعتمد عليها تلك المدرجة في ملف Gemfile. ويتم تثبيت هذه الجواهر تلقائيًا لتلبية المتطلبات.

الملف التمهيدي.md - استخدم هذا الملف لمشاركة التفاصيل الأساسية حول تطبيقك، مثل ما يفعله التطبيق وكيفية تثبيته وتشغيله.

ملف الخليع - يحتوي على تعريفات مهام مختلفة لـ rake تساعد في أتمتة مهام الإدارة اليومية لتطبيقك.

config.ru – ملف تكوين Rack الذي يوفر واجهة لخادم الويب لبدء تشغيل تطبيقك.

قم بتغيير الدليل إلى تطبيق المهام تم إنشاء وتشغيل القضبان الدليلية خادم Rails لبدء التطبيق. يكتب المضيف المحلي: 3000 في شريط عنوان متصفحك. ستظهر لك الشاشة أدناه إذا سارت الأمور على ما يرام.

القضبان – هياكل ملفات المشروع

هذه هي الصفحة الرئيسية الافتراضية لتطبيقك. ستغيرها في قسم لاحق من هذا الدرس التعليمي لـ Ruby on Rails. يمكنك إيقاف الخادم بالضغط على CTRL + C.

Rails – إنشاء الأوامر

يستخدم أمر "generate" في Rails القوالب لإنشاء العديد من العناصر المفيدة في تطبيقك. توفر هذه المولدات الكثير من الوقت.

يكتبون التعليمات البرمجية الأساسية اللازمة لتشغيل تطبيق الويب الخاص بك. تشغيل تولد السكك الحديدية قم بتشغيل الأمر بمفرده في موجه الأوامر أو الطرفية لعرض قائمة بالمولدات المتاحة، كما هو موضح أدناه.

القضبان - إنشاء الأوامر

يمكنك أيضا تشغيل تولد السكك الحديدية للاطلاع على وصف لما يفعله الأمر، ستجد قائمة بالخيارات المفيدة ومثالًا توضيحيًا للاستخدام. يوضح الشكل أدناه ناتج تشغيل الأمر. وحدة تحكم توليد Rails.

القضبان - إنشاء الأوامر

استخدم الأمر `rails generate scaffold` لإنشاء النموذج والعرض ووحدة التحكم تلقائيًا لتطبيق قائمة المهام الذي تقوم بإنشائه. شغّل الأمر التالي في سطر الأوامر (تأكد من أنك ما زلت في...). تطبيق المهام الدليل):

rails generate scaffold todo_list title:string description:text

يؤدي هذا إلى إنشاء واجهة ويب كاملة لعمليات CRUD (إنشاء، قراءة، تحديث، حذف) لجدول TodoLists.

أمر آخر مفيد يجب معرفته هو السكك الحديدية تدمريعكس أي شيء تولد السكك الحديدية لا.

القضبان - التوجيه

يتولى نظام توجيه Rails، المسمى موجه Rails، معالجة جميع الطلبات الواردة إلى تطبيق الويب الخاص بك. وهو يفحص URL يقوم هذا الإجراء بربط كل طلب بإجراء وحدة التحكم المسؤول عن معالجته، باستخدام الصيغة المحددة في ملف المسارات (التكوين/routes.rb).

يتحكم ملف المسارات في كل URL جانب من جوانب تطبيق الويب الخاص بك. يستخدم Rails تصميم RESTful قائم على نمط REST المعماري، والذي يوفر خريطةping بين أفعال HTTP والطلب URLs إلى إجراءات التحكم.

تم إنشاء ملف المسارات عند تشغيلك سكك حديدية جديدة في وقت سابق. استكمالاً لتطبيق المهام الذي تقوم بإنشائه، قم بتشغيل ما يلي:

rails db:migrate

تأكد من أنك ما زلت في جذر التطبيق (الـ تطبيق المهام الدليل).

أعد تشغيل الخادم باستخدام خادم Rails. اكتب http://localhost:3000/todo_lists/ افتح متصفحك واضغط على زر الإدخال (Enter). ستظهر لك صفحة ويب مشابهة للصفحة الموضحة أدناه.

القضبان - التوجيه

هذه هي صفحة عرض قائمة المهام التي أنشأها أمر الإنشاء، ويتم التحكم بها بواسطة وحدة تحكم TodoListsController. مؤشر عمل.

أضف قائمة مهام بالنقر على "قائمة مهام جديدة" في الصفحة. ستظهر لك الشاشة الموضحة أدناه.

القضبان - التوجيه

تلاحظ URL الآن http://localhost:3000/todo_lists/newهذه هي الصفحة المخصصة لإنشاء قائمة مهام جديدة، ويتم التحكم بها بواسطة وحدة تحكم قوائم المهام (TodoListsController). جديد الأسلوب.

أدخل عنوان قائمة المهام ووصفها في النموذج، ثم انقر على "إنشاء قائمة مهام". URL يجب أن يتغير إلى http://localhost:3000/todo_lists/1، كما هو مبين أدناه.

القضبان - التوجيه

هذه هي صفحة عرض قائمة المهام، التي يتم التحكم بها بواسطة وحدة تحكم قوائم المهام إظهار الطريقة. إذا عدت إلى http://localhost:3000/todo_lists/، يجب أن ترى الآن الشاشة أدناه مع إضافة قائمة المهام الجديدة.

القضبان - التوجيه

تمكن Rails من ربط كل طلب بإجراء TodoListsController المقابل باستخدام تعريف المسار في التكوين/routes.rb.

إذا ألقيت نظرة خاطفة على هذا الملف، فسترى سطرًا واحدًا الموارد: قوائم المهاموهي الطريقة الافتراضية في Rails لكتابة مسارات RESTful. يُنشئ هذا السطر الواحد سبعة مسارات، جميعها تُحدد مسارًا واحدًا.ping إلى وحدة تحكم قوائم المهام.

بحسب الاصطلاح، يتم ربط كل إجراء تحكم بعملية CRUD (إنشاء، قراءة، تحديث، حذف) محددة في قاعدة البيانات.

يجري خطوط السكك الحديدية استخدم سطر الأوامر لعرض المسارات المختلفة المتاحة في تطبيقك. يوضح الشكل أدناه ناتج تشغيل الأمر. خطوط السكك الحديدية.

القضبان - التوجيه

Rails – Views

تُعدّ طبقة العرض أحد مكونات نموذج MVC، وهي المسؤولة عن إنشاء استجابة HTML لكل طلب يُرسل إلى تطبيقك. يستخدم Rails نظام ERB (Embedded Ruby) افتراضيًا، وهو نظام قوالب قوي للغة Ruby.

تُسهّل ERB كتابة القوالب وصيانتها من خلال دمج النصوص العادية مع كود Ruby لاستبدال المتغيرات والتحكم في التدفق. يستخدم قالب ERB .html.erb تمديد.

ستستخدم في الغالب علامتي وسم، كل منهما يتسبب في معالجة الكود المضمن والتعامل معه بطريقة معينة.

علامة تحتوي على علامة يساوي <%=%> يشير هذا إلى أن الكود المضمن عبارة عن تعبير، ويجب استبدال نتيجة الكود في المخرجات عند عرض القالب.

العلامة الأخرى مع عدم وجود علامة يساوي <%%> يشير ذلك إلى برنامج العرض بأنه لا ينبغي استبدال نتيجة الكود أو طباعتها في المخرجات.

تحتوي كل وحدة تحكم في تطبيق Rails الخاص بك على دليل فرعي مطابق لها التطبيق/المشاهداتولكل إجراء في وحدة التحكم ما يقابله .html.erb الملف في ذلك المجلد الفرعي.

الق نظرة على التطبيق/المشاهدات ضمن تطبيق المهام الذي تقوم بإنشائه. ستجد مجلدًا فرعيًا باسم قوائم المهام تحتوي .html.erb ملفات بأسماء تتوافق مع الإجراءات في قوائم المهام وحدة تحكم.

القضبان – ActiveRecord ونمط السجل النشط وORM

ActiveRecord هو تطبيق Ruby لنمط Active Record. في هذا النمط، يمثل الصنف جدول قاعدة البيانات، ويمثل مثيل الصنف صفًا في ذلك الجدول.

يُشار إلى ActiveRecord عادةً باسم ORM (خريطة العلاقات بين الكائنات)pingطبقة (Layer)، وهي تقنية تتيح لك إدارة قاعدة بياناتك باستخدام لغة البرمجة التي تجيد استخدامها. وهي مستقلة عن نوع قاعدة البيانات، لذا يمكنك التبديل بسهولة بين قواعد البيانات المختلفة - على سبيل المثال، SQLite, MySQL, PostgreSQLأو خادم SQL، أو Oracle — باستخدام نفس الكود والمنطق.

على سبيل المثال، للحصول على مصفوفة تحتوي على كل قائمة مهام في تطبيقك، لست مضطرًا لكتابة التعليمات البرمجية التي تفتح اتصالًا، وتنفذ استعلام SQL SELECT، وتحول النتيجة.

ما عليك سوى الكتابة قائمة المهام.الكلو ActiveRecord تُرجع المصفوفة المليئة بكائنات TodoList التي يمكنك استخدامها كما تشاء.

كل ما عليك فعله هو إعداد التكوين في config / database.ymlويتعامل ActiveRecord مع الاختلافات بين أنظمة قواعد البيانات. فعند الانتقال من قاعدة بيانات إلى أخرى، لن تحتاج إلى إعادة كتابة التعليمات البرمجية.

ركّز على منطق التطبيق، وسيتولى ActiveRecord تفاصيل الاتصال بقاعدة البيانات. ويستخدم اصطلاحات تسمية لربط النماذج بجداول قاعدة البيانات.

يقوم Rails بتحويل أسماء فئات النموذج إلى صيغة الجمع للعثور على جدول قاعدة البيانات المقابل. لذا، بالنسبة لفئة عمل قائمةيستخدم ActiveRecord جدول قاعدة بيانات يسمى قوائم المهام.

القضبان – الهجرات

عملية ترحيل البيانات في Rails هي عبارة عن سكربت يُستخدم لتطوير قاعدة بيانات التطبيق. ويُستخدم لإعداد قاعدة البيانات أو تغييرها دون الحاجة إلى كتابة استعلامات SQL يدويًا.

يستخدم لغة روبي لتحديد التغييرات في مخطط قاعدة البيانات، ويتيح استخدام نظام التحكم في الإصدارات للحفاظ على مزامنة قاعدة البيانات عبر البيئات المختلفة.

تستخدم عمليات ترحيل Rails لغة برمجة خاصة بمجال Ruby (DSL). تعمل هذه اللغة كـtraction ويجعل من الممكن استخدام أو تغيير محرك قاعدة البيانات الخاص بك بناءً على متطلباتك.

يمكن مشاركة عمليات الترحيل مع أي شخص يعمل على التطبيق، كما يمكن التراجع عنها لإلغاء التغييرات. هذه آلية أمان قوية، لذا لا داعي للقلق بشأن إلحاق ضرر دائم بقاعدة البيانات.

القضبان - جمعيات ActiveRecord

تُعرف العلاقة بين نموذجين من نماذج ActiveRecord باسم الارتباط. تُسهّل الارتباطات إجراء العمليات على السجلات ذات الصلة في التعليمات البرمجية. وهناك أربع فئات شائعة.

واحد لواحد: يحتوي السجل على نسخة واحدة فقط من نموذج آخر. ومن الأمثلة الجيدة على ذلك ملف تعريف المستخدم - حيث يمتلك المستخدم ملف تعريف واحد فقط. ويستخدم هذا الملف لديه واحد الكلمة.

واحد لكثير: الارتباط الأكثر شيوعًا هو أن أحد النماذج يحتوي على صفر أو أكثر من حالات نموذج آخر. استخدم يحتوي على العديد الكلمة الأساسية للدلالة على هذا الارتباط.

الكثير للكثيرين: الأمر أكثر تعقيدًا بعض الشيء. يوفر ActiveRecord طريقتين للتعامل معه: has_and_belongs_to_many و has_many :through، مما يتيح لك الوصول إلى نموذج الربط المحدد في جدول منفصل.

متعدد الأشكال من واحد إلى متعدد: يُعدّ هذا النوع من الارتباطات أكثر تطوراً في Rails، حيث يُعرّف نموذجاً قد ينتمي إلى العديد من النماذج المختلفة ضمن ارتباط واحد.

القضبان - التحقق من صحة ActiveRecord

تساعد عملية التحقق من صحة البيانات على ضمان حصولك على بيانات صحيحة، لأن العمل ببيانات سيئة أمر محفوف بالمخاطر ويمكن أن يكلف عملك أموالاً.

توفر عملية التحقق طبقة إضافية من الأمان ضد المستخدمين ذوي النوايا الخبيثة الذين يحاولون إدخال بيانات ضارة في قاعدة البيانات. يوفر Rails واجهة برمجة تطبيقات (API) سهلة الاستخدام لأدوات التحقق المساعدة في ActiveRecord، مما يحافظ على قاعدة البيانات نظيفة وآمنة وخالية من الأخطاء.

يتم إجراء عمليات التحقق من صحة ActiveRecord على كائنات النموذج قبل حفظها في قاعدة البيانات، مما يجعلها أكثر موثوقية ويتبع أفضل الممارسات.

تؤدي طرق ActiveRecord التالية إلى تفعيل عمليات التحقق عند استدعائها على كائنات النموذج: إنشاء، إنشاء!، حفظ، حفظ!، تحديث، وتحديث!إصدارات الانفجار (أنشئ!، احفظ!، وقم بالتحديث!) يثير استثناءً إذا كان السجل غير صالح، بينما تُرجع الإصدارات غير المُفعّلة قيمة خاطئة بدلاً من ذلك.

أكثر أدوات المساعدة شيوعًا للتحقق من صحة ActiveRecord هي:

  • التأكيد: يتحقق هذا الإجراء من تطابق قيم حقلين، مثل كلمة المرور وتأكيد كلمة المرور. ويُستخدم بالتزامن مع أداة التحقق من الحضور.
  • حضور: يتحقق من أن الحقل ليس فارغًا.
  • تفرد: يضمن قيمة فريدة لحقل معين، على سبيل المثال اسم المستخدم.
  • الطول: يفرض حدًا أقصى لطول الأحرف في الحقل.

يمكنك أيضًا إنشاء عملية تحقق مخصصة خاصة بك باستخدام التحقق من صحة الطريقة وتمرير اسم طريقة التحقق المخصصة إليها.

تحقق من طراز أخطاء استخدم هذا الكائن لمعرفة سبب فشل عملية التحقق. يوفر لك هذا كل ما تحتاجه لجعل تطبيقك أكثر تقييدًا وأمانًا، بحيث لا يسمح إلا بدخول البيانات الصحيحة إلى قاعدة البيانات.

القضبان - وحدة تحكم العمل

وحدة تحكم Rails هي مركز تطبيق الويب الخاص بك. فهو يسهل وينسق التواصل بين المستخدم والنماذج ووجهات النظر.

ترث فئات وحدة التحكم الخاصة بك من وحدة تحكم التطبيق، والذي يحتوي على كود يمكن تشغيله في جميع وحدات التحكم الأخرى، والذي بدوره يرث من ActionController::Base.

يوفر المتحكم ما يلي لتطبيقك:

  • يقوم بتوجيه الطلبات الخارجية إلى الإجراءات الداخلية.
  • يدير التخزين المؤقت، مما يعزز أداء تطبيقك.
  • يدير هذا النظام أساليب المساعدة التي توسع إمكانيات قوالب العرض، كما يدير جلسات المستخدمين، مما يمنح المستخدمين تجربة سلسة.

القضبان – التكوينات

يمكنك تهيئة مكونات مثل المُهيئات، والأصول، والمولدات، والبرامج الوسيطة باستخدام مُهيئات تطبيق Rails وملفات التهيئة في التكوين دليل. ملفات مثل config/application.rb, config/environments/development.rbو config/environments/test.rb تُستخدم هنا. يمكنك أيضًا إضافة إعدادات مخصصة لتطبيقك.

القضبان – تصحيح الأخطاء

أثناء بناء تطبيقك، ستحتاج إلى تصحيح أخطاء التعليمات البرمجية. يُسهّل Rails هذه العملية باستخدام وداعا جوهرة. يمكنك بدء جلسة تصحيح الأخطاء عن طريق وضع الكلمة المفتاحية وداعا في أي مكان في كود التطبيق الخاص بك.

يؤدي هذا إلى إيقاف التنفيذ مؤقتًا عند تلك النقطة. توفر مكتبة byebug عدة أوامر، وأكثرها فائدة هي:

  • التالى: ينتقل إلى سطر التعليمات البرمجية التالي، تخطيping جميع الطرق التي يتم استدعاؤها بواسطة السطر الحالي.
  • خطوة: على غرار التالي، ولكنه يدخل في كل طريقة يتم استدعاؤها.
  • استراحة: يوقف تنفيذ التعليمات البرمجية.
  • استمر: يستمر تنفيذ التعليمات البرمجية.

تتوفر أدوات تصحيح الأخطاء الأخرى، مثل نقبجميعها توفر وظائف متشابهة مع اختلافات طفيفة في الصياغة. لا يُنصح باستخدام أدوات تصحيح الأخطاء في بيئة الإنتاج، لأنها تُعرّض تطبيقك للخطر وتُسبب تجربة سيئة للمستخدمين.

يمكن فحص ملفات السجلات بحثًا عن الأخطاء في بيئة الإنتاج ومعالجتها وفقًا لذلك. كما يُنصح باتباع منهجية التطوير الموجه بالاختبار (TDD) عند بناء التطبيق لضمان عمل كل شيء بشكل سليم قبل نشره في بيئة الإنتاج.

الأسئلة الشائعة

نعم. لا يزال Rails يدعم GitHub وShopify وBasecamp، وقد أضاف الإصدار 7 ميزة Hotwire، واستيراد الخرائط، ودعمًا مدمجًا لمحرر Trix. يبقى خيارًا قويًا للفرق التي تحتاج إلى تطوير سريع باستخدام أساليب مجربة وموثوقة.

يستخدم Rails لغة Ruby، Django يستخدم Pythonكلاهما إطاران عمل متكاملان بتقنية MVC مع أنظمة ORM قوية. يعتمد Rails على الاصطلاحات ومولدات الأكواد، بينما يوفر Django واجهة إدارة وإعدادات صريحة أكثر صرامة يفضلها العديد من الفرق للمشاريع التي تعتمد بشكل كبير على البيانات.

تتضمن مسارات النشر الشائعة ما يلي Herokuتستخدم معظم الفرق أدوات مثل Render وFly.io وAWS عبر Capistrano أو Docker. وتقوم بتجميع الأصول مسبقًا باستخدام rake assets:precompile، ثم تُعيّن RAILS_ENV=production، وتُشغّل rails db:migrate، وتُقدّم التطبيق عبر Puma بالإضافة إلى Nginx أو مُوازن تحميل مُدار.

نعم. يمكن لمساعدي الذكاء الاصطناعي إنشاء نماذج، واقتراح استعلامات ActiveRecord، وصياغة اختبارات RSpec، ومراجعة عمليات الترحيل. يُنصح دائمًا بمراجعة الكود المُنشأ وفقًا لمعايير Rails وإرشادات الأمان قبل اعتماده، خاصةً فيما يتعلق بتغييرات المصادقة وقواعد البيانات.

تستدعي تطبيقات Rails عادةً مزودي الذكاء الاصطناعي عبر حزم تطوير البرامج (SDKs) الخاصة بلغة Ruby أو عملاء HTTP مثل Faraday، وتخزن المطالبات والاستجابات في نماذج ActiveRecord، وتُجدول المهام الطويلة باستخدام Sidekiq. وتسهل مكتبات مثل ruby-openai وlangchainrb ربط ميزات الذكاء الاصطناعي الحديثة.

تلخيص هذه التدوينة بـ: