คำถามติดแท็ก single-table-inheritance

16
แนวทางปฏิบัติที่ดีที่สุดในการจัดการเส้นทางสำหรับคลาสย่อย STI ในทางรถไฟ
มุมมองทางรถไฟของฉันและตัวควบคุมจะเกลื่อนไปด้วยredirect_to, link_toและform_forวิธีการโทร บางครั้งlink_toและredirect_toชัดเจนในเส้นทางที่พวกเขากำลังเชื่อมโยง (เช่นlink_to 'New Person', new_person_path) แต่หลายครั้งที่เส้นทางมีความหมายโดยนัย (เช่นlink_to 'Show', person) ฉันเพิ่มการสืบทอดตารางเดี่ยว (STI) ลงในแบบจำลองของฉัน (พูดEmployee < Person) และวิธีการทั้งหมดเหล่านี้แตกสำหรับอินสแตนซ์ของคลาสย่อย (พูดEmployee); เมื่อรางรันก็มีข้อผิดพลาดlink_to @person undefined method employee_path' for #<#<Class:0x000001022bcd40>:0x0000010226d038>Rails กำลังค้นหาเส้นทางที่กำหนดโดยชื่อคลาสของวัตถุซึ่งเป็นพนักงาน เส้นทางของพนักงานเหล่านี้ไม่ได้ถูกกำหนดไว้และไม่มีตัวควบคุมพนักงานดังนั้นการกระทำที่ไม่ได้กำหนดไว้ คำถามนี้ถูกถามมาก่อน: ที่StackOverflowคำตอบคือการแก้ไขทุก ๆ อินสแตนซ์ของ link_to ฯลฯ ในโค๊ดฐานทั้งหมดของคุณและระบุพา ธ อย่างชัดเจน ในStackOverflowอีกสองคนแนะนำให้ใช้routes.rbในการแมปทรัพยากรคลาสย่อยกับผู้ปกครองระดับ ( map.resources :employees, :controller => 'people') คำตอบที่ดีที่สุดในคำถาม SO เดียวกันนั้นแสดงให้เห็นถึงการหล่อแบบวัตถุทุกอินสแตนซ์ใน codebase ใช้.becomes อีกคำหนึ่งที่StackOverflowคำตอบที่ดีที่สุดคือวิธีในค่าย …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.