0Pricing
Ruby Academy · درس

المسارات والموارد

التوجيه وفق REST

المسارات والموارد درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ما هو التوجيه؟

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

  • توجد المسارات في config/routes.rb.
  • يربط كل مسار عنوان URL بـ controller#action.
  • يطابق Rails المسارات من الأعلى إلى الأسفل.

مسار أساسي

يربط أبسط مسار مسارًا بإجراء باستخدام get. فعند إرسال طلب GET إلى /about، يستدعي Rails الإجراء about في PagesController.

Rails.application.routes.draw do
  get "/about", to: "pages#about"
end

أفعال HTTP

يحدّد كل مسار فعلًا يشير إلى الغرض من الطلب:

  • يُستخدم get لقراءة البيانات.
  • يُستخدم post لإنشاء البيانات.
  • يُستخدم patch / put لتحديث البيانات.
  • يُستخدم delete لإزالة البيانات.

يمكن للمسار نفسه، مع أفعال مختلفة، أن يرتبط بإجراءات مختلفة.

موارد RESTful

ينشئ مساعد resources المسارات السبعة القياسية لـ REST لنموذج في سطر واحد. وهذا هو جوهر التوجيه الاصطلاحي في Rails.

Rails.application.routes.draw do
  resources :articles
end

الإجراءات السبعة

ينشئ resources :articles مسارات من أجل:

  • index لسرد العناصر، وshow لعرض عنصر واحد.
  • new لعرض النموذج، وcreate للحفظ.
  • edit لعرض نموذج التعديل، وupdate للحفظ.
  • destroy للحذف.

ويغطي ذلك دورة حياة المورد كاملة.

مساعدات المسار

تنشئ المسارات مساعدات مُسمّاة، لذلك لن تضطروا إلى كتابة عناوين URL مباشرة. يمنحكم resources :articles المساعدات articles_path وarticle_path(@article) وnew_article_path وedit_article_path(@article).

articles_path            # => "/articles"
article_path(5)          # => "/articles/5"
new_article_path         # => "/articles/new"
edit_article_path(5)     # => "/articles/5/edit"

تحديد الإجراءات

استخدموا only أو except لإنشاء المسارات التي تحتاجون إليها فقط. ويحافظ ذلك على نطاق التوجيه صغيرًا ومقصودًا.

resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]

الموارد المتداخلة

ضمّنوا الموارد للتعبير عن الملكية في عنوان URL. فالتعليقات التابعة لمقالة تصبح /articles/1/comments. ويمرّر المسار المتداخل article_id إلى وحدة التحكم.

resources :articles do
  resources :comments
end

# GET /articles/1/comments

المسار الجذري

يحدّد root ما يتم تحميله عند /، أي الصفحة الرئيسية لتطبيقكم. ضعوه بالقرب من أعلى ملف المسارات لتسهيل القراءة.

Rails.application.routes.draw do
  root "articles#index"
end

فحص المسارات

شغّلوا rails routes لسرد كل مسار مع فعله ومساره ومساعده وcontroller#action الخاص به. وهذه أسرع طريقة لفهم توجيه تطبيق أو تصحيح مشكلاته.

مسارات العضو والمجموعة

أضيفوا إجراءات مخصصة إلى أحد الموارد:

  • تعمل مسارات member على سجل واحد: /articles/1/publish.
  • تعمل مسارات collection على المجموعة: /articles/search.
resources :articles do
  member { post :publish }
  collection { get :search }
end

اختبار سريع

اختبروا مدى فهمكم للتوجيه.

مراجعة: المسارات والموارد

لقد تعلّمتم التوجيه بأسلوب REST:

  • تربط المسارات الفعل والمسار بـ controller#action.
  • ينشئ resources سبعة مسارات قياسية.
  • تتجنب مساعدات المسار كتابة عناوين URL مباشرة.
  • تتيح مسارات only/except والتداخل والعضو والمجموعة تخصيص مجموعة المسارات.
  • يحدّد root الصفحة الرئيسية، بينما يسرد rails routes كل شيء.

سنكتب بعد ذلك وحدات التحكم التي تتولى معالجة هذه الطلبات.

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

هل درس «المسارات والموارد» مجاني؟

نعم — نص درس «المسارات والموارد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ماذا ستتعلم في «المسارات والموارد»؟

التوجيه وفق REST تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟

لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المسارات والموارد»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟

نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المسارات والموارد
  2. وحدات التحكم والإجراءات
  3. المعلمات القوية
  4. العروض والتصيير
← العودة إلى Ruby Academy