در قسمت قبلي، يک پروژه تهي ايجاد کرديم. پروژهاي که ساختيم، تنها فايلهاي اوليه يک پروژه روبي را داشت و هيچ کاري انجام نميداد. در اين قسمت، قصد داريم کمي وارد برنامهنويسي با روبي شويم و مفهوم کنترلرها را در اين زبان توضيح دهيم.
نکته: در اين قسمت ما از مدير ديتابيس SQLite استفاده ميکنيم که در قسمت دوم، نحوه نصب آن را توضيح داديم. اگر در ميانه راه به خطا برخورد کرديد، نحوه نصب صحيح اين سيستم مديريت ديتابيس در ادامه مقاله توضيح دادهايم.
همان طور که گفتيم، هر پروژه در يک پوشه قرار ميگيرد و نام آن پوشه، برابر با نام پروژه است. به عنوان مثال، Barname نام آخرين پروژهاي بود که نوشته شد و در پوشهاي به نام Projects قرار گرفت.
پنجره خط فرمان را باز کنيد و در آن، با استفاده از دستورهاي خط فرمان به پوشهاي برويد که پروژه را در آن ايجاد کردهايد. اين پوشه براي ما، C:\Projects\barname است.
حال دستور ruby script\server را اجرا کنيد تا سرور وب WEBrick راهاندازي شود و بتوانيد خروجي برنامه را مشاهده کنيد.
يک پنجره مرورگر اينترنت باز کنيد و آدرس http://127.0.0.1:3000 را وارد نماييد. حال بايد پنجره شما به صورت شکل 1 باشد.

شکل 1
به مسير app\controllers در پوشه پروژهتان برويد ( در اينجا آدرس C:\Projects\barname\app\controllers را خواهيم داشت ).
اين پوشه شامل کنترلرهاي برنامه بوده و يک فايل به نام application.rb، حاوي کنترلر برنامه اصلي است.
در ادامه يک پنجره خط فرمان ديگر باز کنيد ( پنجره قبلي را دست نخورده بگذاريد به حال خود بماند) و در آن به پوشه پروژهتان (C:\Projects\barname ) برويد. سپس دستور زير را در خط فرمان وارد کنيد (شکل 2):
|
ruby script\generate controller Test1 |

شکل 2
براي مشاهده نتيجه کار به پنجره مرورگر ويندوز بازگرديد (شکل 3) و ببينيد در پوشه app\controllers چه اتفاقي افتاده است.

شکل 3
همانطور که ملاحظه خواهيد کرد، يک فايل جديد با نام test1_controller.rb ايجاد شده که اين فايل، اسکلت تعريف کلاس Test1 را در خود جاي داده است. روي اين فايل کليک راست کرده و گزينه Edit را انتخاب کنيد ( توجه داشته باشيد که روي آن دو بار کليک نکنيد، چرا که در اين صورت عمل ديگري انجام ميشود). با انتخاب گزينه Edit، برنامه SciTE باز ميشود. از اين برنامه براي ويرايش پروژههاي نوشته شده به زبانهاي مختلف استفاده شده و محيط گرافيکي خوبي را براي برنامهنويسان فراهم ميکند.
نکته: در هنگام نصب روبي، SciTE هم به صورت ضمني روي کامپيوتر شما نصب ميگردد.
شما ميتوانيد براي نوشتن برنامههايي به زبانهاي مختلف، از اسمبلي تا PHP، از اين ويرايشگر استفاده کرده و آن را جانشين ويرايشگرهاي متني ديگر سازيد. به اين منظور کافي است از منوي Language، نام زبان مورد نظر را مشخص کنيد تا کلمات کليدي آن برنامه، رنگ ديگري پيدا کنند (شکل 4) و در نهايت برنامه سر و شکل گرافيکي متناسب با آن زبان را يافته و برنامهنويسي در محيط سادهتري انجام شود.

شکل 4
سوال: اگر بخواهيد از کنترلري استفاده کنيد که در برنامهتان وجود ندارد، چه اتفاقي ميافتد؟
پاسخ: کافيست در مرورگر آدرس زير را وارد نماييد:
http://127.0.0.1:3000/morabba
ميدانيد که اين کنترلر در برنامهتان وجود ندارد و به همين دليل، بعد از چند ثانيه، پيغام خطاي نشان داده شده در شکل 5 را مشاهده خواهيد کرد.

شکل 5
در قسمت آدرس، نشاني زير را وارد کنيد. اين آدرس متعلق به کنترلري است که ميدانيد وجود دارد.
http://127.0.0.1:3000/Test1
باز هم با پيغام خطا روبرو شديد (شکل 6)، ولي اين بار پيغام ظاهر شده با دفعه گذشته فرق دارد. دليلش وجود داشتن کنترلر مربوط است که خودتان همين چند لحظه پيش آن را ساختهايد.

شکل 6
حالا به برنامه SciTE رفته و مطابق شکل 7، متن را در آن تايپ کنيد (شکل 7):
|
class Test1Controller < ApplicationController def index render :text => "salam" end end |

شکل 7
آن را ذخيره کنيد و به پنجره مرورگر برگرديد و آدرس زير را بنويسيد:
http://127.0.0.1:3000/Test1
حال ميتوانيد نتيجه اولين برنامه خود را مشاهده کنيد (شکل 8).

شکل 8
اگر در اين مرحله، با خطايي همانند شکل 9 مواجه شديد، به معناي آن است که DBMS شما به درستي نصب نشده و براي رفع اين مشکل بايد به آدرس زير مراجعه کنيد و فايلهاي Sqlite-3_6_6_2.zip و Sqlitedll-3_6_6_2.zip را دريافت کنيد:
http://www.sqlite.org/download.html

شکل 9
حجم اين دو فايل روي هم کمتر از 500 کيلوبايت است. اين فايلها را باز کنيد. در درون اولي، يک فايل و در درون دومي، دو فايل قرار داده شده است. کافي است اين سه فايل را به داخل زير پوشه bin در پوشه روبي کپي کنيد و بار ديگر، مجددا برنامه خود را اجرا کنيد.
ما روبي را در پوشه C:\Program Files\Ruby\ نصب کرده بوديم و به همين دليل سه فايل فوق را در پوشه C:\Program Files\Ruby\bin کپي کرديم.
حال به برنامه SciTE برگرديد و خطوط زير را قبل از End پاياني اضافه کنيد:
|
def magazine render :text => "Rayane Khabar" end |
به اين ترتيب برنامه شما به صورت شکل 10 در خواهد آمد.

شکل 10
سخن پاياني
مقاله آينده، شامل نوشتن يک برنامه ساده با استفاده از ديتابيس ( مثل دفترچه تلفن ) خواهد بود.
وصل شدن به ديتابيس در "روبي آن ريلز" کار بسيار سادهاي است و سيستمهاي مديريت ديتابيسي مانند SQLite و MySQL اين کار را تسهيل ميکنند. به اين ترتيب، در قسمت بعدي ميتوانيد برنامههايي را بنويسيد که در نگاه اول دشوار به نظر ميرسند.
توصيه ما به علاقهمندان برنامهنويسي اين است که حتما مراحلي را که در اين قسمت توضيح داديم مرور کرده و سعي کنيد دستورهايي را که در کار با irb توضيح داديم، را نوشته و نتيجه را ببينيد. حتي در بعضي مواقع لازم است چند بار از روي عمد، برنامه را اشتباه نوشته و آن را اجرا کنيد تا به اين وسيله با خطاهاي احتمالي آشنا شويد. همچنين به نحوه خطا گرفتن روبي آن ريلز از برنامهها توجه ويژهاي داشته باشيد.