7- تضمين كود html داخل ملف روبي

في  الدرس السادس قمنا بعمل صفحة بسيطة تحوي على معلومات ترحيبية بشكل منفصل ومخزنة بمجلد خاص يدعى views ومن ثم قمنا باستدعائها بواسطة الامر erb :tt والذي يقوم باستدعاء الصفحة وعرضه عن طريق الراوتر ..
اليوم نقوم بعمل اختصار لهذه العملية يدعى (inline views)  الذي يتيح لنا دمج نفس الكود السابق في ملف الروبي باستخدام ادوات تعريفية تتيح لنا انشاء ملف واحد يمكننا من عرض صفحتنا بكل سهولة .
تكون الطريقة على النحو التالي :-
دمج كود html  في ملف روبي
السطر الخامس:- (__END__)هو عبارة عن تصريح بان هذا نهاية الملف الخاص بتعريف الراوتر وبداية تعريف كود html .
السطر السادس :-  لنتذكر سوية اننا في الدرس السابق كنا نقوم بتعريف كود html  بلاحقة erb وذلك ليتسنى للمفسر ان يفهم انه ملف مدمج بلغة روبي , الان باستخدام (@@)  نقوم باعلام المفسر بان الاسم الذي يليه هو ملف views (( في مثالنا home@@)) شبيه بالملف الذي كان بلاحقة erb ومن خلال هذه العملية نختصر عدد الملفات التي نعمل عليها منفصلة لنجمعها بملف واحد لتتيح لنا سهولة التعامل مع المتغيرات التي نصرح عنها فيما بعد في الاستخدامات المتقدمة ..
الان لو فرضنا ان لدينا اكثر من ملف (erb) ونريد التعامل معه في ملف واحد هنا سوف نستخدم اضافة تتيح لنا التعامل مع اكثر من ملف مدمج مع روبي ...
في البداية دعونا ننشأ هذه الملفات كما هو مبين في الصورة ادناه :-
انشاء اكثر من ملف مدمج مع روبي
 بعد انشاء هذه الملفات نقوم بانشاء صفحة html  بالطريقة التي تعلمناهــــا
(inline views) ولكن هنا وبسبب تعاملنا مع اكثر من ملف سنقوم باضافة هذه الكلمة البرمجية layout@@ التي بمجرد كتابتها تخبر المفسر بان هذا الملف يحوي على اكثر من ملف روبي مدمج وبالتالي يتعامل معه , كما مبين في الصورة التالية :-
انشاء inline views
في السطر الثاني عشر قمنا باضافة layout@@ التي كما شرحناها تتعامل مع اكثر من ملف مدمج 
في الاسطر من 29 الى 31  قمنا باضافة <section> وفي داخله <%= yield %> الذي يتيح لنا عرض ما في داخل الملفات المدمجة التي انشأناها مسبقا مثل (erb :home , erb :aboutوكما نرى في السطر 34 اننا قمنا بتعريف هذا الملف الذي انشأناه في بداية وفي السطر الـ 35 قمنا باضافة نص اليه وكذلك الحال مع بقية الملفات, الان دعونا نختبر ما قمنا بعمله على المتصفح لنا النتيجة كما في الصورة التالية :-
نتيجة العمل
 هذه هي النتيجة التي حصلنا عليها ...

ملاحظة :-
الوسم <section> نستطيع ان نضعه في اي مكان نشاء وهنا وضعناه اخر الكود لاننا نريد ان نعرض النصوص اسفل المتصفح



 



ليست هناك تعليقات:

إرسال تعليق

 
Design Downloaded From Free Blogger Templates | Free Website Templates | News and Observers