<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ไอเอินบล๊อก &#187; scaffold</title>
	<atom:link href="http://www.iearn.in.th/tag/scaffold/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iearn.in.th</link>
	<description>Just Play and Just Knowledge</description>
	<lastBuildDate>Fri, 05 Aug 2011 15:10:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>เริ่มต้นกับ Ruby On Rails ตอนที่ 4 Scaffold</title>
		<link>http://www.iearn.in.th/2009/03/16/%e0%b9%80%e0%b8%a3%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b8%95%e0%b9%89%e0%b8%99%e0%b8%81%e0%b8%b1%e0%b8%9a-ruby-on-rails-%e0%b8%95%e0%b8%ad%e0%b8%99%e0%b8%97%e0%b8%b5%e0%b9%88-4-scaffold/</link>
		<comments>http://www.iearn.in.th/2009/03/16/%e0%b9%80%e0%b8%a3%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b8%95%e0%b9%89%e0%b8%99%e0%b8%81%e0%b8%b1%e0%b8%9a-ruby-on-rails-%e0%b8%95%e0%b8%ad%e0%b8%99%e0%b8%97%e0%b8%b5%e0%b9%88-4-scaffold/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 21:24:20 +0000</pubDate>
		<dc:creator>nolifelover</dc:creator>
				<category><![CDATA[RoR]]></category>
		<category><![CDATA[basic rails]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[rails tutorails]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[scaffold]]></category>

		<guid isPermaLink="false">http://www.iearn.in.th/?p=403</guid>
		<description><![CDATA[ผมเขียนบทความนี้ตอนที่มาพักผ่อนที่เกาะสิมิลันกับแม่โดยแม่ผมเป็นแม่ครัวมือหนึ่งเลย หากใครจะมาเที่ยวทะเลหรือมาดำน้ำสอบถามผมได้ครับ เพราะว่าจะได้กินอาหารอร่อยๆ ฝีมือแม่ผม มาต่อกันเลยดีกว่าครับ สำหรับวันนี้ผมจะมาแนะนำการใช้งาน Scaffold ของ Rails ซึ่งถือว่าเป็นจุดเด่นของ Rails เลยก็ว่าได้เนื่องจากสามารถทำให้คุณสามารถจัดการข้อมูลแบบ CRUD หรือมาจาก C=Create, R=Read, U=Update, D=Delete โดยจะช่วยให้ชีวิตคุณง่ายขึ้นเยอะครับ แต่ใน version 2.2.2 เนี่ย scaffold จะใช้งานในรูปแบบของ REST โดย REST ผมคงจะขออธิบายในส่วนลึกอีกที่นะครับ โดยผมจะสร้าง scaffold สำหรับการจัดการ User ครับ โดยในฐานข้อมูลจะประกอบไปด้วย Username มีชนิดเป็น String Password มีชนิดเป็น String Firstname มีชนิดเป็น String Lastname มีชนิดเป็น String Age มีชนิดเป็น Integer Birthday มีชนิดเป็น Date โดยผมจะยังคงใช้งานโปรแจค Hello [...]]]></description>
			<content:encoded><![CDATA[<p>ผมเขียนบทความนี้ตอนที่มาพักผ่อนที่เกาะสิมิลันกับแม่โดยแม่ผมเป็นแม่ครัวมือหนึ่งเลย หากใครจะมาเที่ยวทะเลหรือมาดำน้ำสอบถามผมได้ครับ เพราะว่าจะได้กินอาหารอร่อยๆ ฝีมือแม่ผม มาต่อกันเลยดีกว่าครับ สำหรับวันนี้ผมจะมาแนะนำการใช้งาน Scaffold ของ Rails ซึ่งถือว่าเป็นจุดเด่นของ Rails เลยก็ว่าได้เนื่องจากสามารถทำให้คุณสามารถจัดการข้อมูลแบบ CRUD หรือมาจาก C=Create, R=Read, U=Update, D=Delete โดยจะช่วยให้ชีวิตคุณง่ายขึ้นเยอะครับ แต่ใน version 2.2.2 เนี่ย scaffold จะใช้งานในรูปแบบของ REST โดย REST ผมคงจะขออธิบายในส่วนลึกอีกที่นะครับ โดยผมจะสร้าง scaffold สำหรับการจัดการ User ครับ<span id="more-403"></span> โดยในฐานข้อมูลจะประกอบไปด้วย<br />
<code>Username มีชนิดเป็น String<br />
Password มีชนิดเป็น String<br />
Firstname มีชนิดเป็น String<br />
Lastname มีชนิดเป็น String<br />
Age มีชนิดเป็น Integer<br />
Birthday มีชนิดเป็น Date</code><br />
โดยผมจะยังคงใช้งานโปรแจค Hello เหมือนเดิมนะครับ เริ่มต้นกันเลยครับโดยต้องทำความเข้าใจกันก่อนนะครับว่าชนิดข้อมูลที่ใช้จะเป็นชนิดข้อมูลในการเขียนโปรแกรมทั่วไปนะครับเราไม่จำเป็นต้องทราบชนิดข้อมูลของ SQL เลยครับเพียงให้รู้ว่าเป็น String, Integer, Float, Date ที่เหลือ Rails จะมี ActiveRecord จัดการกับฐานข้อมูลให้เองครับ ให้ใช้คำสั่งในการสร้าง Scaffold ครับ<br />
<code>hello&gt;ruby script/generate scaffold user username:string password:string firstname:string lastname:string age:integer birthday:date</code><br />
เราจะเจอกับสิ่งที่ rails generate ออกมาให้ดังนี้ครับ<br />
exists  app/models/<br />
exists  app/controllers/<br />
exists  app/helpers/<br />
create  app/views/users<br />
exists  app/views/layouts/<br />
exists  test/functional/<br />
exists  test/unit/<br />
exists  public/stylesheets/<br />
create  app/views/users/index.html.erb<br />
create  app/views/users/show.html.erb<br />
create  app/views/users/new.html.erb<br />
create  app/views/users/edit.html.erb<br />
create  app/views/layouts/users.html.erb<br />
create  public/stylesheets/scaffold.css<br />
create  app/controllers/users_controller.rb<br />
create  test/functional/users_controller_test.rb<br />
create  app/helpers/users_helper.rb<br />
route  map.resources :users<br />
dependency  model<br />
exists    app/models/<br />
exists    test/unit/<br />
exists    test/fixtures/<br />
create    app/models/user.rb<br />
create    test/unit/user_test.rb<br />
create    test/fixtures/users.yml<br />
create    db/migrate<br />
create    db/migrate/20090312073624_create_users.rb<br />
สิ่งที่สำคัญเลยคือดูตรง create ครับมีการสร้าง model view controller ให้อัตโนมัติรวมถึง css และ test function และจะมีการเพิ่ม route สำหรับ model นี้ด้วยครับ หลังจากนั้นให้ลองทำการ start server เพื่อลองถึงความมหัศจรรย์ครับ<br />
<code>hello&gt;ruby script/server </code><br />
เมื่อเราลองเข้าหน้า http://localhost:3000 เราจะพบ Mysql::Error: Table &#8216;hello_development.users&#8217; doesn&#8217;t exist: SELECT * FROM `users`  เนื่องจากว่าเรายังไม่ได้ทำการสร้าง Table ที่ชื่อว่า users ในฐานข้อมูลครับโดยหากเจอปัญหานี้ให้เราทำการ migrate database ก่อนโดยใช้คำสั่ง<br />
<code>hello&gt;rake db:migrate</code></p>
<p>เมื่อสร้างตารางแล้วให้ start server มาเพื่อดูผลลัพธ์อีกครั้งครับ<br />
<a href="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-users.jpg"><img class="aligncenter size-medium wp-image-412" title="4-rails-new-users" src="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-users-300x101.jpg" alt="4-rails-new-users" width="300" height="101" /></a></p>
<p>แล้วลองเข้าไปในส่วนของ new user จะพบกับฟอร์มที่ใช้ในการสร้าง user ใหม่<br />
<a href="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-user_form.jpg"><img class="aligncenter size-medium wp-image-413" title="4-rails-new-user_form" src="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-user_form-300x246.jpg" alt="4-rails-new-user_form" width="300" height="246" /></a></p>
<p>หลังจากนั้นให้ทดลองเพิ่มข้อมูลไปดูครับ<br />
<a href="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-user-complete.jpg"><img class="aligncenter size-medium wp-image-414" title="4-rails-new-user-complete" src="http://www.iearn.in.th/wp-content/uploads/2009/03/4-rails-new-user-complete-300x160.jpg" alt="4-rails-new-user-complete" width="300" height="160" /></a><br />
เมื่อเพิ่มข้อมูลแล้วสามารถแก้ไขข้อมูลรวมถึงแสดงข้อมูลของ User ทั้งหมดได้ครับ</p>
<p>ดาวโหลดโค้ด <a href="http://www.iearn.in.th/wp-download/hello-tutorails-4.rar">hello-tutorails-4.rar</a></p>

<p class="sayac_bilgi">118 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iearn.in.th/2009/03/16/%e0%b9%80%e0%b8%a3%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b8%95%e0%b9%89%e0%b8%99%e0%b8%81%e0%b8%b1%e0%b8%9a-ruby-on-rails-%e0%b8%95%e0%b8%ad%e0%b8%99%e0%b8%97%e0%b8%b5%e0%b9%88-4-scaffold/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

