ตอนนี้เขียนแล้วงง ๆ
คือใส่โค้ดลงไปเองใน controller เลย update อันนั้นอันนี้
แต่คิดว่ามันน่าจะอยู่ใน model มากกว่า - แต่ใช้ ActiveRecord ไม่เป็น
สมมติว่าผมมี
message อยู่ชุดนึง เอาเป็นว่าจะทำเว็บบอร์ดละกัน
ทีนี้เนี่ย ผมไม่อยากให้ message มันเก็บตัวเนื้อข้อความจริง ๆ ไว้เอง
ทำนองว่าคิดมาก อยากจะเวียนใช้ตัวเนื้อความ เผื่อจะประหยัดที่
(ทำนอง String ใน JVM)
ตัวอย่างเช่นผมมีสองตาราง
message { id, textbody_id }
textbody { id, content }
มีข้อมูล
message[1] = "สวัสดี"
message[2] = "สวัสดี"
อยากให้ textbody_id ในทั้ง message[1] และ [2] เนี่ย มันเป็นตัวเดียวกัน
อาจจะเป็น 109
message[1] = 109
message[2] = 109
textbody[109] = "สวัสดี"
ลองใช้ has_one :textbody ใน message
กับ belongs_to :message ใน textbody
แต่แบบนี้มันก็กลายเป็น 1:1 สิ
ผมไปดูตัวอย่างมาจาก Wikipedia น่ะครับ เค้าใช้แบบนี้
แต่ละ page เก็บ revision_id ล่าสุด,
แต่ละ revision เก็บ text_id,
โดย text เก็บ ข้อความจริง ๆ
(เค้ามี revision ด้วยเพราะว่าจะทำประวัติ)
แต่ไม่รู้จะทำเป็น ActiveRecord ยังไงดี - -"
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
Note: ขอเปลี่ยนชื่อจาก text เป็น content เพราะกลัว 'text' เป็น reserved word ของ database
table ก็หน้าตาแบบนี้