คือ ผมได้ศึกษา หนังสือ ของท่าน ดร วีรศักดิ์ อ่ะครับ แล้วมันไม่ออก งงมากครับ
เป็นการทดสอบ การสั่งให้ Render Template ในตำแหน่งต่างๆ อ่ะครับ ทำตามหนังสืออ่ะครับ แต่ผมใช้ Netbeans ครับ
โดยส่วนของ index.html.erb อยู่ใน \app\view\temtest
<%= render "greet" %>
I am index.html.erb
<%= render "bye" %>
ในหนังสือ มันบอกให้เราสร้าง
ไฟล์ greet.html.erb , bye.html.erb ไว้ใน \app\view
แล้วพอ Run มันก็ แสดง
ActionView::MissingTemplate in Temtest#index
Missing template temtest/_greet.erb in view path C:\Documents and Settings/ruby/My Documents/NetBeansProjects/tplf/app/views
ช่วยแนะนำหน่อยนะครับ มือใหม่หัดขับตัวจริงเลย ครับ
ทดลองเปลี่ยนชื่อไฟล์ greet.html.erb , bye.html.erb เป็น
_greet.html.erb , _bye.html.erb ตามลำดับ
และใน action index ใน controller temtest ให้แก้ไขคำสั่งจาก
<%= render "greet" %> เป็น <%= render "\greet" %>
ลองดูนะครับ น่าจะได้
ขอบคุณ คุณ chato มากนะครับ
แต่มันไม่ได้ อ่ะครับ มันก็แสดง Error เหมือนเดิม อ่ะครับ
ต้องแก้ชื่อไฟล์ให้เป็น
_greet.html.erb
และ_bye.html.erb
แล้วให้ไฟล์_greet.html.erb
และ_bye.html.erb
อยู่ใน\app\views\temtest
แล้วลองดูครับ ว่าได้ไม่ได้
คำอธิบาย: คำสั่ง
render
นั้น ถ้าใช้ใน view มันจะเป็นการแทรก template ที่เราระบุมาไว้ที่ตรงนั้น โดยไอ้ template ชิ้นเล็กๆ นั่น เขาจะเรียกว่า Partial ครับ .. ซึ่งหลักสำคัญเลยคือในชื่อไฟล์ของ partial ต้องมีเครื่องหมาย\_
นำหน้าเสมอครับบล็อกของผม: http://sikachu.com
บล็อกของผม: http://sikachu.com
ขอบคุณ คุณ Sikachu มากๆๆ นะครับ ตอนนี้ ผมเปลี่ยนมาใช้ จาก NetBeams มาเป็น ตัว InstantRails-2.0-win แล้วก็ลองทำตามที่ผมเคยถามแล้วมันออก แล้วครับ มันเป็น เพราะอะไร หรอครับ งง ว่าแค่า tools ต่างก็ไม่ออก
มันไม่ได้เกี่ยวกับเครื่องมือหรอกครับ ลองทำความความเข้าใจ แล้วจะดีเองครับ
ขอบคุณ คุณSikachu มากนะครับ เสริมความรู้ให้ ^^