เตรียมเครื่องมือการพัฒนา

สร้าง Web Application ด้วย Rails Scaffold

Step 1: เริ่มต้นสร้าง rails application

  1. Double click ที่สัญลักษณ์ “I” เพื่อรัน instant rails

instant.png

  • สังเกตเห็นว่าจะมีการรัน 2 application ได้แก่ Apache และ MySQL?
  • โดยสัญลักษณ์จะต้องเป็นสีเขียว ทั้งหมด

instant2.png

  • จากภาพด้านล่าง คลิ้กดังภาพ เพื่อเปิด command window เพื่อจะพิมพ์คำลั่งในการสร้าง rails application

instant3.png

  • สร้าง rails application ด้วยคำสั่ง บรรทัดเดียว
    rails  mysite

rails_mysite.png

  • หลังจากพิมพ์ จะเห็นว่ามีการสร้างไฟล์ต่างๆมากมาย
  • ไฟล์เหล่านี้ เป็นโครงสร้างหลักของการพัฒนา rails application

rails_mysite2.png

  • rails application file (ไฟล์ที่ถูกสร้างขึ้น) จะถูกสร้างที่ InstantRails-1.7-win\InstantRails\rails_apps\mysite
  • ดังนี้

rails_stucture.png

rails_mysite-.png

Step 2: รัน rails web application

instant777.png
instant5.png

  • ผลลัพธ์ที่แสดงว่าสร้าง rails application สร้างสำเร็จ

ecom_url.jpg

Step 3 : สร้างฐานข้อมูลและตาราง

phpMyAdmin.png
phpMyAdmin2.png
phpMyAdmin3.png

สร้างตารางชื่อ products (ต้องเป็นพหูพจน์เสมอ) ดังนี้

CREATE TABLE `products` (
`id` INT NOT NULL AUTO_INCREMENT ,
`title` VARCHAR( 100 ) NOT NULL ,
`description` TEXT NOT NULL ,
`image_url` VARCHAR( 200 ) NOT NULL ,
`price` DECIMAL( 10, 2 ) NOT NULL ,
`date_available` DATE NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Step 4: ใช้ Scaffold generator

จากด้านบน เราได้เริ่มต้นสร้าง e-commerce application บน Rails ,สร้างฐานข้อมูล มีตารางชื่อ products และ config ไฟล์ให้ application สามารถติดต่อกับฐานข้อมูลได้

ต่อไปจะใช้คำสั่งในการผูก ตารางในฐานข้อมูลกับการแสดงผล ด้วย Scaffold generator

ecom_create_controller2.jpg

และเข้าไปยังไดเรกทอรี mysite โดยการพิมพ์

 > cd mysite
 > ruby script/generate scaffold Product Admin

NOTE:
จาก ruby script/generate scaffold Product Admin เป็นการสร้าง rails application พื้นฐานที่เราจะนำมาพัฒนาต่อ โดยพารามิเตอร์ Product คือ model และพารามิเตอร์ Admin คือ controller ซึ่งเมื่อมาตรวจสอบดูที่โปรแกรม Rad rails จะเห็นว่ามีการสร้างไฟล์ และไดเรกทอรีภายใต้ ไดเรกทอรี mysite มา ดังภาพ ด้านล่าง

ecom_scaffold.jpg
ecom_url_app.jpg

Ref:http://wiki.nectec.or.th/setec/Knowledge/ECommerceWebsiteLab01