It's all about semantics. GET
to fetch a resource, POST
to create a resource, PUT
(or PATCH
, these is debate on the matter) to update a resource, DELETE
to delete one.
To be honnest, there is debate about POST
and PUT
too. But since web servers usually only handles GET
and POST
(the behavior of other verbs being emulated via parameters), I tend not to bother too much, and stick with what I wrote above.
You don't seem to be creating any resource, so semantically speaking, PUT
is what you're looking for.
As for match
, in rails 3.X, is a catch all => all verbs are matched in the route. You can restrain using match 'something', via: [:get, :post]
. With Rails 4, by default it will do nothing, you have to be explicit about the verbs handled.