ฉันต้องการฟังก์ชั่นพา ธ ตัวช่วยที่กำหนดไว้ทั้งหมด (ที่สร้างจากเส้นทาง) ในแอปพลิเคชั่น Rails 3 ของฉันหากเป็นไปได้
ขอบคุณ
ฉันต้องการฟังก์ชั่นพา ธ ตัวช่วยที่กำหนดไว้ทั้งหมด (ที่สร้างจากเส้นทาง) ในแอปพลิเคชั่น Rails 3 ของฉันหากเป็นไปได้
ขอบคุณ
คำตอบ:
rake routes
หรือ
bundle exec rake routes
RAILS_ENV=dev /opt/rbenv/shims/bundle rake routes
เพื่อทำงานนี้
ผมมารู้ทีหลังพบว่ามีวิธีการอย่างเป็นทางการที่จะเห็นทุกเส้นทางโดยไปที่http: // localhost: 3000 / ราง / ข้อมูล / เส้นทาง เอกสารอย่างเป็นทางการ: https://guides.rubyonrails.org/routing.html#listing-existing-routes
แม้ว่ามันอาจจะช้า แต่ฉันชอบหน้าข้อผิดพลาดที่แสดงเส้นทางทั้งหมด ฉันมักจะลองไปที่/routes
เส้นทาง (หรือปลอม) จากเบราว์เซอร์โดยตรง เซิร์ฟเวอร์ Rails ให้หน้าข้อผิดพลาดในการเราต์โดยอัตโนมัติรวมถึงเส้นทางและเส้นทางทั้งหมดที่กำหนดไว้ นั่นเป็นประโยชน์มาก :)
ดังนั้นเพียงไปที่http: // localhost: 3000 / เส้นทาง
ทางออกหนึ่งคือ
Rails.application.routes.routes
http://hackingoff.com/blog/generate-rails-sitemap-from-routes/
Rails.application.routes.routes.map { |r| {alias: r.name, path: r.path.spec.to_s, controller: r.defaults[:controller], action: r.defaults[:action]}}
การลองhttp://0.0.0.0:3000/routes
ใช้แอพ Rails 5 API (เช่น: เน้น JSON เท่านั้น) จะกลับมา (เหมือน Rails เบต้า 3)
{"status":404,"error":"Not Found","exception":"#>
<ActionController::RoutingError:...
อย่างไรก็ตาม http://0.0.0.0:3000/rails/info/routes
จะแสดงหน้า HTML ที่เรียบง่ายและสวยงามพร้อมเส้นทาง
rake routes | grep <specific resource name>
แสดงเส้นทางเฉพาะของทรัพยากรหากเป็นรายการเส้นทางที่ค่อนข้างยาว