Diferentes acciones de controlador para solicitudes POST y GET en la misma ruta en Rails

Quiero enrutar la misma dirección, por ejemplo, 'http: // servidor / ruta' a diferentes acciones del controlador dependiendo del tipo de solicitud, ya sea una solicitud GET o POST.

¿Cómo puedo hacer eso en Rails?

¡Gracias!

preguntado el 10 de mayo de 11 a las 13:05

3 Respuestas

get "/path" => "controller#get_action"
post "/path" => "controller#post_action"

contestado el 10 de mayo de 11 a las 17:05

Creo que podrías hacer esto:

match '/path' => 'controller#action', :via => :get
match '/path' => 'controller#another_action', :via => :post

contestado el 10 de mayo de 11 a las 17:05

Genere un recurso usando el andamio Rails y verá cómo se debe hacer:

./script/generate scaffold Person name:string

EDITAR

Recibí una votación negativa, así que tal vez debería ampliar mi respuesta. El andamio demuestra cómo construir un recurso RESTful. Por convención, un POST se asignará al método de creación en el controlador, un GET se asignará al método de índice (o el método show si hay una ID), etc. Todo lo que necesita agregar a su route.rb es:

resources :people

contestado el 10 de mayo de 11 a las 20:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.