ผลต่างระหว่างรุ่นของ "418342 ภาคปลาย 2552/ปฏิบัติการที่ 5"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 52: | แถว 52: | ||
Action show นี้ เมื่อเราเข้าถึงมันผ่าน url http://localhost:3000/artists/show/<<id ของศิลปิน>> แล้วจะต้องแสดงข้อมูลของศิลปินตาม screenshot ข้างล่างนี้ | Action show นี้ เมื่อเราเข้าถึงมันผ่าน url http://localhost:3000/artists/show/<<id ของศิลปิน>> แล้วจะต้องแสดงข้อมูลของศิลปินตาม screenshot ข้างล่างนี้ | ||
+ | |||
+ | [[Image:Lab-05-show.png]] |
รุ่นแก้ไขเมื่อ 21:21, 3 ธันวาคม 2552
ในปฏิบัติการนี้ เราจะสร้าง model, controller, และ view อย่างง่ายๆ สำหรับค้นหาข้อมูลในฐานข้อมูลของนักดนตรีสากล
สร้าง Rails Application และ Model
ให้คุณสร้าง rails application ชื่อ music ขึ้นมาใน directory หนึ่ง
หลังจากนั้นเราจะสร้าง model ชื่อ artist ด้วยการสั่ง
ruby script/generate model artist
แล้วจงไปแก้ไขไฟล์ migration ที่ชื่อ db/migrate/<<timestamp>>_create_artists.rb เพื่อให้ในตารางมีฟีลด์ดังต่อไปนี้
ชื่อ | ชนิด |
name | string |
origin | string |
genre | string |
homepage | string |
album | text |
track | string |
หลังจากนั้นให้สั่งให้ migration ทำงานด้วยคำสั่ง
rake db:migrate
เพื่อความสะดวก เราได้เตรียมฐานข้อมูลที่มีข้อมูลนักดนตรีเอาไว้ให้คุณแล้ว ให้คุณดาวน์โหลดไฟล์ development.sqlite3 แล้วนำมันไปแทนที่ไฟล์ development.sqlite3 ที่ rails สร้างไว้ในไดเรคทอรี db
หมายเหตุ: ไฟล์ development.sqlite3 นี้สร้างขึ้นมาจากข้อมูลนักดนตรีของ http://www.freebase.com (คุณสามารถดาวน์โหลดไฟล์์ต้นฉบับได้จาก http://download.freebase.com/datadumps/2009-10-01/browse/music/ โดยเอาไฟล์ชื่อ artist.tsv)
เขียนหน้าเว็บสำหรับแสดงผลศิลปินแต่ละคน
จงสร้าง controller ชื่อ artists
หลังจากนั้นไปแก้ไข ArtistsController ในไฟล์ app/controllers/artists_controller.rb โดยทำการเพิ่ม action ชื่อ show
Action show นี้ เมื่อเราเข้าถึงมันผ่าน url http://localhost:3000/artists/show/<<id ของศิลปิน>> แล้วจะต้องแสดงข้อมูลของศิลปินตาม screenshot ข้างล่างนี้