จากตอนที่แล้ว คำสั่ง scaffold ใน controller มีอิทธิฤทธิ์ยิ่งนัก สามารถสร้างสิ่งมหัศจรรย์จากสูญญากาศ
แต่สุดยอดวิชาย่อมต้องมีจุดอ่อน อะไรที่ดีมากๆ จุดอ่อนก็คือ มันดีเกินไป
คือมันสมบูรณ์แบบเกินไปครับ สมบูรณ์แบบจนไม่รู้จะไปแก้ไขตรงไหนดี เพราะไม่มีที่ให้แก้ให้ปรับเลย
แต่ทางออกย่อมมีเสมอ เมื่อมี dynamic scaffold ก็ย่อมต้องมี static scaffold อยู่คู่กัน เป็นอีกทางเลือกหนึ่งซึ่งยุ่งยากกว่านิดหน่อย แต่ก็สามารถพลิกแพลงได้หลากหลายกว่ามากครับ
ruby script/generate scaffold product admin
product บอก model ที่ใช้ ในขณะที่
admin ระบุ controller ครับ
สิ่งสำคัญที่เราได้จากการนี้คือ rhtml หนึ่งพวงใหญ่อยู่ใน /app/views/admin/
ทีนี้อยากแก้ตรงไหนก็ตามสบายเลยครับ
เมื่อส่วนที่ rhtml พวกนี้จัดการคือ html ย่อมต้องมีส่วนของ css อยู่ที่ไหนสักที่
นั่นคือ public/stylesheets/ ครับ โดยปกติถ้าไม่ระบุ css file ที่ใช้ public/stylesheets/scaffold.css จะถูกเรียกใช้ by default ครับ
หากเราต้องการเปลี่ยนไปใช้ css file อื่น ก็ควรสร้างและเก็บไว้ที่ public/stylesheets/ นี้เช่นเดียวกันครับ
ส่วนที่ระบุเรื่อง css นี้จะเก็บแยกอยู่ใน app/views/layouts/con_name.rhtml ครับ ไฟล์นี้จะถูกสร้างตอนที่เราใช้คำสั่ง ruby script/generate scaffold model_name con_name ครับ
เปิดไฟล์ layout นี้ดูแล้วมองหาส่วนที่กำหนด css ครับ
<%= stylesheet_link_tag 'scaffold' %>
สมมติว่าเราอยากให้ใช้ depot.css ด้วยก็แก้เป็น
<%= stylesheet_link_tag 'scaffold' , 'depot' %>
แค่นี้เองครับ
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น