تیسرا سبق: ایک سادہ ریلس بلاگ

کیفیت
مزید جوابات کے لیے دستیاب نہیں
پچھلا سبق انتہائی پیچیدہ اور اجنبی رخ اختیار کر گیا تھا. جس کا اندازہ شرکاء کے مراسلوں سے ہوا. لہٰذا اس بار اسباق کو یکسر مختلف انداز میں پیش کرنے کی کوشش کر رہا ہوں. اور ساتھ ہی پچھلے سبق کا اعادہ بھی شامل کر رہا ہوں تاکہ جنھیں بالکل ہی سمجھ میں نہ آیا ہو وہ بھی جان لیں کہ ایک آسان سا بلاگ یا اسی طرح کی دوسری ایپلیکیشن کتنی آسانی سے ذرا سی دیر میں تیار ہو سکتی ہے. خاص کر ہروکو گارڈن پر.

سب سے پہلے فائر فاکس براؤزر میں ہروکو گارڈن کھولیں. اور اپنے ہروکو گارڈن اکاؤنٹ سے لاگن ہوں. میں فرض کر رہا ہوں کہ آپ کے پاس اس کا اکاؤنٹ پہلے سے موجود ہے. اور اگر نہیں ہے تو صفحے کا غور سے مطالعہ مفید ثابت ہوگا.

http://herokugarden.com

pic001.jpg


اگر سب کچھ بخیر ہوا تو آپ ایپلیکیشنس کی فہرست والے صفحے کی جانب ری ڈائریکٹ کر دیئے جائیں گے.

http://herokugarden.com/myapps

pic002.jpg


Create New App بٹن پر کلک کریں. چند سیکنڈ کے وقفے کے بعد آپ کے تازہ ترین ریلس پروجیکٹ کا ابتدائی ڈھانچہ تیار ہو چکا ہوگا اور آپ کے سامنے اس کا طے شدہ اسٹیٹک انڈیکس پیج (Static index page) ظہور پذیر ہو جائے گا. (یہاں تک پچھلے سبق کا اعادہ تھا، اب آگے بڑھتے ہیں.) صفحے کے اندراجات کو غور سے دیکھیں خاص کر صفحے کی نچلی پٹی. جو کہ ریلس کا کارنامہ نہیں ہے بلکہ ہروکو گارڈن نے مبتدیوں کی سہولت کے لئے اپنے پلیٹ فارم میں اضافی سہولت مہا کرا رکھی ہے. اگر آپ اسے ہٹانا چاہیں تو آپ کے چند مزید اسباق کا انتظار کرنا ہوگا.

http://RANDOMSTRING.herokugarden.com

pic003.jpg


فوری طور پر میں جس کام کا مشورہ دوں گا وہ ہے پروجیکٹ کو ری نیم کرنا. کیوں کہ ہروکو نے ایک رینڈم نام سے پروجیکٹ تیار کر دیا ہے. اس کے لئے تصویر بالا کی ذیلی پٹی میں دائیں طرف موجود app settings ربط پر کلک کریں.

http://herokugarden.com/myapps/RANDOMSTRING/sharing

pic004.jpg


ایپلیکیشن کو کوئی منفرد نام دے کر ری نیم کر دیں (جیسا کہ میں نے uwror000 کر رکھا ہے) اور پرائویٹ کے بجائے پبلک کر دیں. مزید ترتیبات کو ابھی نہ چھیڑیں تو بہتر ہوگا. اب صفحے پر موجود edit ربط پر کلک کرکے ہروکو گارڈن کے ویب بیسڈ ایڈیٹر کی جانب کوچ کریں.

http://edit.uwror000.herokugarden.com

pic005.jpg


ایک نظر یہاں بائیں طرف موجود فائل براؤزر اور اس میں دستیاب انٹریکٹیویٹی کا جائزہ لیں. جنھیں تصویر میں مقدور بھر واضح کرنے کی کوشش کی گئی ہے. اس کے علاوہ چاروں کونوں میں دستیاب روابط جن کی مختصر تفصیل یوں ہے.

دائیں - اوپر : تیر کے نشان آپ کو آپ کی لائیو سائٹ کے اس صفحے پر لے جائیں گے جہاں سے آپ حال ہی میں واپس لوٹے ہوں گے.
بائیں - اوپر : ایپلیکیشن کا نام آپ کو ایپلیکیشن کے ترتیبات کے صفحے پر لے جائے گا.
بائیں - نیچے : ہروکو گارڈن کے ہوم پیج کا ربط.
دائیں - نیچے : آپ کا برقی پتہ آپ کے ایپلیکیشنز کی فہرست کے صفحے پر لے جائے گا. اور دوسرے ربط کے بارے میں بتانے کی ضرورت نہیں.

جاری ہے...​
 
اب ہم ایک انتہائی ابتدائی بلاگ ایپلیکیشن تیار کریں گے جس میں عنوان اور متن کے سوا کچھ نہ ہو. اس میں مضامین کی فہرست، مضمون شامل کرنے، مدون کرنے، دیکھنے اور حذف کرنے کی سہولیات مہیا کرائی جائیں گی. یقیناً آئندہ اسباق میں ہم اس میں بتدریج اضافے کریں گے.

ایپلیکیشن کے ایڈیٹر صفحے پر موجود گئیر مینو پر کلک کرکے اس میں سے Generate کا انتخاب کریں. ایک چھوٹا سا پاپ اپ ظاہر ہوگا جس میں کمانڈ لکھے جانے کی سہولت ہوگی. یوں تو ریلس میں ان بلٹ کئی جنیریٹرز دستیاب ہیں جن کی اپنی اپنی افادیت ہے. پر آج ہم جس جنریٹر کا استعمال کریں گے وہ ہے Scaffold Generator. اس پاپ میں درج ذیل کمانڈ داخل کریں.
scaffold Post title:string body:text
pic006.jpg


اس مختصر سے کمانڈ کا مطلب یہ ہوا کہ ہم ایک عدد Post ماڈل تیار کرنا چاہتے ہیں جس کے لئے ایک عدد ڈاٹا بیس ٹیبل ہو اور اس میں دو کالم ہوں. ٹائٹل جو کہ محدود طوالت کا یک سطری متن string ہوگا اور باڈی جو کہ کثیر السطور اور قدرے طویل متن text ہوگا. آپ چاہیں تو دو کے بجائے مزید ایٹریبیوٹس/کالمس کا اضافہ بھی کر سکتے ہیں. ساتھ ہی ہمیں اس ماڈل کے لئے Create, Read, Update and Delete ایکشنز کی بزنس لاجک اور پریزینٹشن کے لئے ایچ ٹی ایم ایل بھی چاہئے. گھبرائیں نہیں اسکیفولڈ جنریٹر یہ سب کچھ تو کرے گا ہی اس کے علاوہ اور بھی بہت کچھ. پاپ اپ میں موجود Run بٹن پر کلک کرنے سے درج ذیل صفحہ دکھنا چاہئے.

pic007.jpg


نئے پاپ اپ میں اسکیفولڈ جنریٹر نے اپنے وہ سارے احسان جتا دئے ہیں جو کچھ اس نے ہمارے لئے کیا ہے. شکریہ اسکیفولڈ! کہتے ہوئے Esc کا بٹن دبا دیں یا ماوس کے ذریعہ پاپ اپ کو ضائع کر دیں. ایڈیٹر میں نیچے کی طرف زرد رنگ میں Migrate Now کا اضافہ بھی کچھ پیغام رکھتا ہے. ساتھ ہی ایڈیٹر کے کوڈ ایریا میں db/migrate ڈائریکٹری کی ایک فائل بھی کھلی ملے گی. در اصل یہ فائل ہمارے اسکیفولڈ کمانڈ کے پیرامیٹرس کی بنیاد پر تیار شدہ ڈاٹابیس اسپیسیفیکیشن فائل ہے. یوں تو اس کا مطلب بالکل واضح ہے پھر بھی اس پر مزید گفتگو آئندہ اسباق میں پر ملتوی کرتے ہیں. اور زرد رنگ کے مائگریٹ ناؤ ربط پر کلک کرتے ہیں. اس کلک کا نتیجہ بھی چند سیکینڈ کے وقفے سے از خود ظاہر ہو جائے گا. یعنی کہ ہمارے ماڈل کے لئے ڈاٹا بیس تیار ہے.

pic008.jpg


یقین نہ آئے تو ایڈیٹر میں موجود Data ٹیب پر کلک کرکے اپنی خاطر جمع کر لیں.

pic009.jpg


آپ کا مختصر اور سادہ سا بلاگ بالکل تیار ہے. جس کے لک اینڈ فیل کو بہت تھوڑی سی تبدیلیاں کرکے اپنی مرضی کے مطابق کر سکتے ہیں. آئیے ہم اپنے تازہ ترین ایپلیکیشن کا دورہ کرتے ہیں. آپ چاہیں تو مہیا کرائے گئے روابط کو چیک کر سکتے ہیں. ورنہ اپنے تجرباتی ایپلیکیشن کے لئے اسی پیٹرن پر یو آر ایل داخل کرکے کریں.

سب سے پہلے پوسٹس کی فہرست پر چلتے ہیں. ظاہر ہے ابھی ہمارے بلاگ میں کوئی پوسٹ نہیں. تو شکل کچھ یوں نظر آئے گی.

http://uwror000.herokugarden.com/posts

pic010.jpg


لیکن پریشانی کی کوئی بات نہیں. یہاں تو New post کے لئے ربط موجود ہے.

http://uwror000.herokugarden.com/posts/new

pic011.jpg


یہاں غور کرنے کی بات یہ ہے کہ ریلس نے جو فارم جنریٹ کیا ہے اس میں ڈاٹا بیس کالم کے ڈاٹا ٹائپ کا خاص خیال رکھا ہے. یعنی اسٹرنگ کے لئے ٹیکسٹ انپٹ اور ٹیکسٹ کے لئے ٹیکسٹ ایریا تیار کرکے پیش کیا ہے. اب کچھ یوں ہی سے اندراجات کرتے ہیں (ممکن ہے کہ آپ جذباتی ہو رہے ہوں اور اپنا پہلا بلاگ پوسٹ کچھ انوکھا یا طویل کرنا چاہتے ہوں، تو مجھے یا ریلس کو کوئی اعتراض نہیں). اور اتنا کچھ لکھ ہی لیا ہے تو Create بٹن پر کلک کر ہی لیں ورنہ Back کا ربط تو آپ کو پوسٹس کی فہرست کی طرف واپس لے جائے گا جہاں شاید ابھی کچھ بھی نہ ہو، اور آپ کی پوسٹ لکھنے کی محنت بھی اکارت جائے. خیر مجھے امید ہے کہ آپ نے میرا مشورہ مان لیا ہوگا اور اب اس صفحے پر ہوں گے.

http://uwror000.herokugarden.com/posts/1

pic012.jpg


کیا آپ نے پہلی سطر میں موجود نوید پڑھ لی؟ جی ہاں ریلس میں ایک صفحے سے دوسرے صفحے کی طرف کوچ کرتے ہوئے ایسے مختصر پیغامات بطور زاد راہ لے جانے کی سہولت بھی ہے جنھیں فلیش کہا جاتا ہے. یہاں موجود Edit کا ربط آپ کو دکھا یا نہیں؟ اگر دکھ گیا تو یہیں کیوں رک گئے آگے چلئے.

http://uwror000.herokugarden.com/posts/1/edit

pic013.jpg


اگر کچھ باتیں آپ کے اولین پوسٹ میں لکھنے سے رہ گئی تھیں تو اب لکھ لیں. ظاہر ہے آپ اپنی املا بھی درست کر سکتے ہیں. میرا مشورہ مانئے تو اب اپڈیٹ کر ہی ڈالیئے. اگر کچھ رہ جائے گا تو یہاں پھر چلے آئیں گے.

http://uwror000.herokugarden.com/posts/1

pic014.jpg


یہاں موجود ربط Back پر کلک کرکے پوسٹس کی فہرست کی طرف لوٹ سکتے ہیں. اور اس بات کی توثیق کر سکتے ہیں کہ جو کچھ تحریر کیا وہ فہرست میں موجود ہے.

http://uwror000.herokugarden.com/posts

pic015.jpg


آپ نے ضرور نوٹس کیا ہوگا کہ Show, Edit and Destroy کے روابط تو ہر مضمون کے ساتھ منسلک ہیں جب کہ اکیلا New post کا ربط ملک بدر کر دیا گیا ہے. در اصل نیا اندراج پچھلے کسی بھی اندراج سے قطعی غیر متعلق اور آزاد ہوتا ہے جبکہ بقیہ کے تین عوامل کسی موجود ریکارڈ پر ہی آزمائے جا سکتے ہیں.

اف! آپ نہیں مانے اور Destroy ایکشن کو بھی آزما ہی ڈالا. کوئی بات نہیں ریلس آپ کو ایک موقع اور دیتا ہے.

http://uwror000.herokugarden.com/posts

pic016.jpg


اگر آپ کو اب بھی لگتا ہے کہ جس طرح دوسرے ایکشنز نے بالکل درست عمل کیا ہے ویسے اس پر یقین کر لینا چاہئے تو Cancel پر کلک کر کے اپنے قیمتی اولین پوسٹ کی اکھڑتی سانسوں کو حیات بخش دیں. ورنہ OK کرتے ہی اس عظیم خسارے سے ریلس کیا میں بھی نہیں بچا سکوں گا. ہاں آپ کو یقین ضرور ہو جائے گا Destroy کی فعالیت کا.

آئندہ سبق میں ان شاء اللہ لک اینڈ فیل کسٹمائز کرنے کا ارادہ ہے. اگر آپ اپنے تئیں تجربے کرنا چاہتے ہیں تو اس سے متعلق فائلیں app/views ڈائریکٹری کے تحت موجود ہیں.

امید ہے کہ یہ سبق پچھلے تجربات کی تمام کوفت مٹا دیگا. اگر اب بھی کوئی کسر رہتی ہو تو احباب کے مشوروں کا منتظر ہوں گا. اس بار گفتگو میں زیادہ چہل پہل کی توقع ہے.

اس موضوع پر گفتگو، سوال و جواب اور تبصرے یہاں کریں۔

پچھلا سبق | اگلا سبق
 
فرہنگ:

احباب سے گزارش ہے کہ جن الفاظ کو محتاج تعارف سمجھیں انھیں گفتگو کے دھاگے میں درج کر دیا کریں۔
 
کیفیت
مزید جوابات کے لیے دستیاب نہیں
Top