1. احباب کو اردو ویب کے سالانہ اخراجات کی مد میں تعاون کی دعوت دی جاتی ہے۔ مزید تفصیلات ملاحظہ فرمائیں!

    ہدف: $500
    $453.00
    اعلان ختم کریں

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

ابن سعید نے 'روبی آن ریلز' کی ذیل میں اس موضوع کا آغاز کیا، ‏مارچ 10, 2009

لڑی کی کیفیت:
مزید جوابات کے لیے دستیاب نہیں
  1. ابن سعید

    ابن سعید خادم

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

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

    http://herokugarden.com

    [​IMG]

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

    http://herokugarden.com/myapps

    [​IMG]

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

    http://RANDOMSTRING.herokugarden.com

    [​IMG]

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

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

    [​IMG]

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

    http://edit.uwror000.herokugarden.com

    [​IMG]

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

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

    جاری ہے...​
     
    • پسندیدہ پسندیدہ × 3
  2. ابن سعید

    ابن سعید خادم

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

    ایپلیکیشن کے ایڈیٹر صفحے پر موجود گئیر مینو پر کلک کرکے اس میں سے Generate کا انتخاب کریں. ایک چھوٹا سا پاپ اپ ظاہر ہوگا جس میں کمانڈ لکھے جانے کی سہولت ہوگی. یوں تو ریلس میں ان بلٹ کئی جنیریٹرز دستیاب ہیں جن کی اپنی اپنی افادیت ہے. پر آج ہم جس جنریٹر کا استعمال کریں گے وہ ہے Scaffold Generator. اس پاپ میں درج ذیل کمانڈ داخل کریں.
    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

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

    http://uwror000.herokugarden.com/posts

    [​IMG]

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

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

    [​IMG]

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

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

    [​IMG]

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

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

    [​IMG]

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

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

    [​IMG]

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

    http://uwror000.herokugarden.com/posts

    [​IMG]

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

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

    http://uwror000.herokugarden.com/posts

    [​IMG]

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

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

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

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

    پچھلا سبق | اگلا سبق
     
  3. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,141
  4. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,141
    فرہنگ:

    احباب سے گزارش ہے کہ جن الفاظ کو محتاج تعارف سمجھیں انھیں گفتگو کے دھاگے میں درج کر دیا کریں۔
     
    • پسندیدہ پسندیدہ × 1
لڑی کی کیفیت:
مزید جوابات کے لیے دستیاب نہیں

اس صفحے کی تشہیر