tengo las siguientes rutas establecidas en mi archivo routes.rb:rieles ignora ruta de recolección y se va con acción show en lugar
resources :people do
collection do
get :search
end
end
Cuando hago una acción de conseguir en la url: http://localhost:3000/people/search.json?term=stepeb, los informes de servidor que está respondiendo con la acción de mostrar, con el parámetro de término correcto, pero también tiene un parámetro de id, establecido en "buscar".
El problema, como yo lo veo, son las dos direcciones URL el espectáculo URL sería:
/people/:id
y creo que el router está emparejando esa ruta antes de que llegue a/personas/búsqueda
Si ese es el caso, ¿cómo funcionarían las rutas basadas en colecciones? ¿No quedarían atrapados por la acción del espectáculo?
La parte pertinente de rutas rastrillo es el siguiente:
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"}
No estoy seguro de cuál es el problema, pero esto definitivamente debería funcionar como esperaba. (Me pregunto si el formato .json está causando problemas.) ¿Puede darnos la salida de 'rutas de rastreo '? –
Agregué .json cuando vi que no funcionaba de la manera prevista. No hizo la diferencia. – midas06