Rails 3: Tôi muốn liệt kê tất cả các đường dẫn được xác định trong ứng dụng rails của tôi


144

Tôi muốn liệt kê tất cả các hàm đường dẫn của trình trợ giúp được xác định (được tạo từ các tuyến) trong ứng dụng rails 3 của tôi, nếu điều đó là có thể.

Cảm ơn,


mở bảng điều khiển của bạn và gõ các tuyến cào
Mohsin Raza

Câu trả lời:


229
rake routes

hoặc là

bundle exec rake routes

2
Hơn nữa, nếu bạn muốn kiểm tra xem một đường dẫn cụ thể có được nhận diện bởi bộ định tuyến của ứng dụng hay không, hãy xem điều này .
XåpplI'-I0llwlg'I -

Trong một bối cảnh cụ thể, tôi đã phải sử dụng RAILS_ENV=dev /opt/rbenv/shims/bundle rake routesđể làm cho công việc này.
peter_v

1
rake routesbị phản đối; sử dụng rails routesthay thế: github.com/rails/rails/pull/33660
nekketsuuu

72

Cập nhật

Sau này tôi thấy rằng, có một cách chính thức để xem tất cả các tuyến đường, bằng cách truy cập http: // localhost: 3000 / rails / thông tin / tuyến . Tài liệu chính thức: https://guides.rubyonrails.org/routing.html#listing-exceed-routes


Mặc dù, nó có thể bị trễ, nhưng tôi thích trang lỗi hiển thị tất cả các tuyến. Tôi thường cố gắng đi vào /routes(hoặc một số không có thật) đường dẫn trực tiếp từ trình duyệt. Máy chủ Rails tự động cung cấp cho tôi một trang lỗi định tuyến cũng như tất cả các tuyến đường và đường dẫn được xác định. Điều đó rất hữu ích :)

Vì vậy, chỉ cần truy cập http: // localhost: 3000 / tuyến nhập mô tả hình ảnh ở đây


1
Để nói rõ, điều này chỉ hoạt động trong môi trường phát triển.
Dennis

6
Cái này được gói vào Rails 4, nhưng câu hỏi hỏi về Rails 3. Bạn sẽ cần cài đặt đá quý Sextant để sử dụng nó trong 3.
elc


7

Thử http://0.0.0.0:3000/routestrên ứng dụng API Rails 5 (nghĩa là: chỉ định hướng JSON) sẽ trở lại (kể từ Rails beta 3)

{"status":404,"error":"Not Found","exception":"#> 
<ActionController::RoutingError:...

Tuy nhiên, http://0.0.0.0:3000/rails/info/routessẽ hiển thị một trang HTML đơn giản, đẹp mắt với các tuyến đường.


7
rake routes | grep <specific resource name>

hiển thị các tuyến cụ thể tài nguyên, nếu đó là một danh sách dài các tuyến.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.