วันพฤหัสบดี, มิถุนายน 21, 2550

อ่าน Agile Web Development with Rails ( 2 )

เราสร้าง application โดย Rails โดย
rails app_name
ซึ่งจะสร้าง directory ชื่อ app_name และไฟล์อะไรกระจุกกระจิกจำนวนหนึ่งซึ่งเราจะยังไม่สนใจตอนนี้
cd app_name

ทีนี้สร้าง controller โดยใช้คำสั่ง
ruby script/generate controller con_name
ซึ่งจะสร้างไฟล์หลายไฟล์เหมือนกัน แต่เราจะสนใจแค่อันเดียวก่อนคือ app/controllers/con_name_controllers.rb ซึ่งเป็น class กลวงๆอันนึง หากเราสร้าง method ขึ้นมาใน class นี้ จะเรียกว่าเป็น action

action นี้จะทำงานเมื่อเราเรียก http://host_name/con_name/action_name

แต่เราต้องกำหนดรูปแบบการแสดงผลให้ด้วยโดยการสร้าง view ขึ้นมา โดย view ที่จะตอบสนองกับ action นี้จะเป็นไฟล์ app/views/con_name/action_name.rhtml

ไฟล์ rhtml นี้ก็คือไฟล์ html ที่อนุญาตให้แทรกโค้ด ruby เข้าไปได้ ระหว่างแท็ก <% %> เรียกว่า ERb (Embeded Ruby) เหมือนกับ php หรือ asp นั่นเอง

โดยรูปแบบนี้เองเราจะเห็นว่า controller กับ view นั้นทำงานใกล้ชิดกัน โดยเราจะกำหนดข้อมูลที่จะแสดงผลไว้ที่ attribute ของ controller ซึ่งเราสามารถดึงมาใช้ได้ที่ view

ตัวอย่างดังนี้ครับ
ฝั่ง controller (apt/controllers/say_controller.rb)
class SayController < ApplicationController
def hello
@time = Time.now
end
def goodbye
end
end

ที่ฝั่ง view (apt/views/say/hello.rhtml)
แทรกโค้ดนี้เข้าไปเพื่อแสดงเวลา
<%= @time %>
แทรกโค้ดนี้เข้าไปเพื่อแสดงลิงก์ไปยัง action goodbye
<%= link_to "Goodbye!" , :action => "goodbye" %>

เป็นตัวอย่างง่ายๆของการใช้งาน Rails ครับ

ไม่มีความคิดเห็น: