รูปแบบการใช้งานhelper
<%= link_to "text" ,:action => :actionname %>
<%=button_to "buttonname" ,:action => :actionname%>
ซึ่งแนะนำให้ใช้ แทน html ทั้ืงหมด
ข้อสังเกต
<%=form_tag ''/test/hello%>
<%form_tag :controller = :test ,:action =:hello do%>
<%end%>
จะสังเกตเห็นว่า แบบแรกใช้ expression ส่วนแบบที่สองใช้ scriptlet ซึ่งส่วนใหญ่แล้ว scriptlet ก็คือ ไม่มี = จะใช้แสดงผล ของค่า ส่วน scriptlet จะใช้กับภาษา ruby ที่ำไม่มีการแสดงผลของ ค่า โดยจะเห็นว่ามีการใช้ <%end%> ครอบด้วย ซึ่งไม่ได้แสดงค่าอะไร ซึ่งหากแบบที่สอง ใส่เครื่องหมายเท่้ากับหน้า form_tag ก็จะcompile error
<%form_tag :action=>:hello do%>
<%=text_field_tag "name" ,"benz" , :size=>6,:maxlength=>5 %>
<%=submit_tag "OK",:disable_with=>"Please wait"%>
<%end%>
อันนี้เจ๋ง กด OK แล้วตรงปุ่มจะเปลี่ยนเป็น Please wait
เจ๋งกว่า เมื่อกี้อีก ใส่รูปให้ปุ่มได้ด้วย
<%form_tag :action => :hello do%>
<%=text_field_tag "name"%>
<%=image_submit_tag "rails.png"%> #\public\images\rails.png
<%end%>
<%form_tag :action=>:hello do%>
<%=hidden_field_tag "name","hey"%>
<%= submit_tag "OK"%>
<%end%>
hidden_field _tag =>เอาไว้ซ่อน เวลาส่ง ค่ามีแต่ปุ่มให้กด
<%form_tag :action=>:hello do%>
<%=password_field_tag "name"%>
<%= submit_tag "OK"%>
What is your name?
<%form_tag :action=>:hello do%>
<%=radio_button_tag "name","benz"%>benz
<%=radio_button_tag "name1", "benznakub"%> benznakub
<%=radio_button_tag "neme2" , "benzs"%>benzs
<%=submit_tag "OK"%>
<%end%>
สังเกตว่า ตรง name หมายถึง group กล่าวคือ กลุ่มเดียวกันเลืิอกได้อันเดียว
ข้อดี อีกอย่างสามารถส่งพารามิเตอร์มาได้ เลย
Implement Model RelationShips
แบบ one to many เช่น ความสัมพันธ์ของ Author กับ Article
-> สร้าง model ของ Author แล้วกำหนด Attribute
-> rake db:migrate
->สร้าง model ของ Article แล้ว กำหนด Attribute โดยหนึ่งในนี้ต้องมี author_id เนื่องจาก ทั้งสองมีความ สัมพันธ์ โดยที่ Author (ผู้แต่ง) สามารถเขียน บทความ ได้ หลาย บทความ แต่ Article (บทความ )
หนึ่งบทความมีำคนแต่งไำด้คนเดียว(bussiness Rule) โดยสรุป แล้ว Article จะต้องเก็บ idของ author
เพื่อใช้ในการหาว่า คนแต่งบทควา่ม นั้น แต่บทความอะีไรไปบ้าง
->rake db:migrate
->จะต้องระบุความสัมพันธ์ในส่วนของ dbmodel (ไปที่ app/model/)ซึ่งจะมี class ของ Author กับ Article อยู่โดยที่
ใน class Author จะต้องมี has_many :articles
ใน class Article จะต้องมี belongs_to :author
ไม่มีความคิดเห็น:
แสดงความคิดเห็น