เส้นทางและทรัพยากร
การกำหนดเส้นทางแบบ RESTful
เส้นทางและทรัพยากร เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
การกำหนดเส้นทางคืออะไร
การกำหนดเส้นทางจะจับคู่คำขอ HTTP ที่เข้ามา ซึ่งประกอบด้วยเมธอดและเส้นทาง เข้ากับการทำงานของตัวควบคุมที่จัดการคำขอนั้น ไฟล์เส้นทางคือประตูหน้าของแอป Rails
- เส้นทางอยู่ใน
config/routes.rb - เส้นทางแต่ละรายการเชื่อม URL เข้ากับ
controller#action - Rails จะจับคู่เส้นทางจากบนลงล่าง
เส้นทางพื้นฐาน
เส้นทางที่ง่ายที่สุดจะจับคู่เส้นทางกับการทำงานโดยใช้ get ในกรณีนี้ การส่ง GET ไปยัง /about จะเรียกการทำงาน about ใน PagesController
Rails.application.routes.draw do
get "/about", to: "pages#about"
endคำกริยา HTTP
เส้นทางแต่ละรายการจะระบุคำกริยาเพื่อสื่อเจตนา:
getใช้อ่านข้อมูลpostใช้สร้างข้อมูลpatch/putใช้ปรับปรุงข้อมูลdeleteใช้ลบข้อมูล
เส้นทางเดียวกันที่ใช้คำกริยาต่างกันสามารถเชื่อมโยงไปยังการทำงานที่แตกต่างกันได้
ทรัพยากรตามแนวทาง REST
ตัวช่วย resources จะสร้างเส้นทาง REST มาตรฐานทั้งเจ็ดสำหรับโมเดลในบรรทัดเดียว นี่คือหัวใจของการกำหนดเส้นทาง Rails ตามแบบแผน
Rails.application.routes.draw do
resources :articles
endการทำงานทั้งเจ็ด
resources :articles จะสร้างเส้นทางสำหรับ:
indexแสดงรายการ และshowแสดงรายการเดียวnewแสดงแบบฟอร์ม และcreateบันทึกข้อมูลeditแสดงแบบฟอร์ม และupdateบันทึกการเปลี่ยนแปลงdestroyลบข้อมูล
สิ่งนี้ครอบคลุมวงจรชีวิตทั้งหมดของทรัพยากร
ตัวช่วยเส้นทาง
เส้นทางจะสร้างตัวช่วยที่มีชื่อให้คุณ จึงไม่ต้องเขียน URL แบบตายตัว resources :articles จะให้ articles_path, article_path(@article), new_article_path และ edit_article_path(@article)
articles_path # => "/articles"
article_path(5) # => "/articles/5"
new_article_path # => "/articles/new"
edit_article_path(5) # => "/articles/5/edit"จำกัดการทำงาน
ใช้ only หรือ except เพื่อสร้างเฉพาะเส้นทางที่ต้องการ วิธีนี้ช่วยให้ขอบเขตเส้นทางมีขนาดเล็กและกำหนดเจตนาไว้อย่างชัดเจน
resources :articles, only: [:index, :show]
resources :comments, except: [:edit, :update]ทรัพยากรแบบซ้อน
ซ้อนทรัพยากรเพื่อแสดงความเป็นเจ้าของใน URL ความคิดเห็นที่เป็นของบทความจะกลายเป็น /articles/1/comments เส้นทางแบบซ้อนจะส่ง article_id ไปยังตัวควบคุม
resources :articles do
resources :comments
end
# GET /articles/1/commentsเส้นทางหลัก
root กำหนดสิ่งที่จะโหลดที่ / ซึ่งเป็นหน้าแรกของแอป ควรวางไว้ใกล้ด้านบนของไฟล์เส้นทางเพื่อให้อ่านได้ง่าย
Rails.application.routes.draw do
root "articles#index"
endตรวจสอบเส้นทาง
เรียกใช้ rails routes เพื่อแสดงรายการเส้นทางทั้งหมดพร้อมคำกริยา เส้นทาง ตัวช่วย และ controller#action วิธีนี้เป็นวิธีที่เร็วที่สุดในการทำความเข้าใจหรือแก้ไขปัญหาการกำหนดเส้นทางของแอป
เส้นทางสมาชิกและชุดข้อมูล
เพิ่มการทำงานแบบกำหนดเองให้ทรัพยากรได้:
- เส้นทางสมาชิกทำงานกับระเบียนหนึ่งรายการ:
/articles/1/publish - เส้นทางชุดข้อมูลทำงานกับทั้งชุด:
/articles/search
resources :articles do
member { post :publish }
collection { get :search }
endตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับการกำหนดเส้นทาง
สรุป: เส้นทางและทรัพยากร
คุณได้เรียนรู้การกำหนดเส้นทางตามแนวทาง REST:
- เส้นทางจะจับคู่คำกริยากับเส้นทางไปยัง
controller#action resourcesจะสร้างเส้นทางมาตรฐานเจ็ดรายการ- ตัวช่วยเส้นทางช่วยหลีกเลี่ยงการเขียน URL แบบตายตัว
only/exceptการซ้อน และเส้นทางสมาชิกกับชุดข้อมูลใช้ปรับแต่งชุดเส้นทางrootกำหนดหน้าแรก ส่วนrails routesแสดงรายการทั้งหมด
ต่อไปเราจะเขียนตัวควบคุมเพื่อจัดการคำขอเหล่านี้
คำถามที่พบบ่อย
บทเรียน “เส้นทางและทรัพยากร” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เส้นทางและทรัพยากร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เส้นทางและทรัพยากร”
การกำหนดเส้นทางแบบ RESTful คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เส้นทางและทรัพยากร” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม
ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เส้นทางและทรัพยากร
- ตัวควบคุมและการดำเนินการ
- พารามิเตอร์แบบเข้มงวด
- มุมมองและการเรนเดอร์