tôi có các tuyến đường sau thành lập trong tập tin routes.rb của tôi:Rails bỏ qua tuyến đường bộ sưu tập và đi với chương trình hành động thay vì
resources :people do
collection do
get :search
end
end
Khi tôi làm một hành động get trên url: http://localhost:3000/people/search.json?term=stepeb, báo cáo máy chủ rằng nó phản hồi với hành động hiển thị, với tham số cụm từ chính xác, nhưng cũng có thông số id, được đặt thành "tìm kiếm".
Vấn đề, như tôi nhìn thấy nó, là hai url url chương trình sẽ là:
/people/:id
và tôi tin rằng các bộ định tuyến được phù hợp với lộ trình mà trước khi nó được cho/người/tìm kiếm
Nếu đúng như vậy, các tuyến đường dựa trên bộ sưu tập sẽ hoạt động như thế nào? Họ sẽ không bị bắt bởi hành động hiển thị?
Phần liên quan của tuyến đường cào như sau:
search_people GET /people/search(.:format) {:action=>"search", :controller=>"people"}
GET /people(.:format) {:action=>"index", :controller=>"people"}
people POST /people(.:format) {:action=>"create", :controller=>"people"}
new_person GET /people/new(.:format) {:action=>"new", :controller=>"people"}
GET /people/:id(.:format) {:action=>"show", :controller=>"people"}
PUT /people/:id(.:format) {:action=>"update", :controller=>"people"}
person DELETE /people/:id(.:format) {:action=>"destroy", :controller=>"people"}
edit_person GET /people/:id/edit(.:format) {:action=>"edit", :controller=>"people"}
Không chắc chắn vấn đề là gì, nhưng điều này chắc chắn sẽ hoạt động như bạn mong đợi. (Tôi tự hỏi, nếu định dạng .json đang gây ra vấn đề.) Bạn có thể cho chúng ta kết quả của 'các tuyến đường rake' không? –
Tôi đã thêm .json khi tôi thấy nó không hoạt động theo cách dự định. Không tạo nên sự khác biệt. – midas06