Các tuyến đường ray là tuyệt vời để phù hợp với các kiểu URL được phân tách trong một cấu hình map.connect
. Tôi muốn các bộ điều khiển/hành động khác nhau được gọi tùy thuộc vào sự hiện diện của tham số sau '?'
.Các tuyến đường ray phù hợp với các tham số truy vấn
Tôi đã cố gắng một cái gì đó như thế này ...
map.connect "api/my/path?apple=:applecode", :controller => 'apples_controller', :action => 'my_action'
map.connect "api/my/path?banana=:bananacode", :controller => 'bananas_controller', :action => 'my_action'
Đối với mục đích định tuyến Tôi không quan tâm đến giá trị của tham số, miễn là nó có sẵn với bộ điều khiển trong params
băm
này có lẽ sẽ được thực sự khó khăn để làm với việc xây dựng trong công cụ định tuyến bởi vì nó chỉ giao dịch với phần đường dẫn của yêu cầu. Các tham số truy vấn được phân tích bởi một lớp khác. Có thể sử dụng Rack để viết lại URL khi nó đến để làm cho nó có thể định tuyến được. – tadman