0Pricing
Ruby Academy · บทเรียน

เส้นทางและทรัพยากร

การกำหนดเส้นทางแบบ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เส้นทางและทรัพยากร
  2. ตัวควบคุมและการดำเนินการ
  3. พารามิเตอร์แบบเข้มงวด
  4. มุมมองและการเรนเดอร์
← กลับไปที่ Ruby Academy