11

I am building a RESTful Rails service with various CRUD endpoints. On one of the Create endpoints, the data I am passing in includes:

...
action: "action_name"
...

The problem I am having is that params[:action] contains "create", not the actual value of the action parameter I'm passing in. This, I assume, is because params[:action] is being populated by Rails automatically.

Is there another way to access this key I am passing in? Am I doing something blatantly stupid?

Jeremy Blalock
  • 2,538
  • 17
  • 23

2 Answers2

13

Its awkward to use this, but if ever its required, you can get the info using:

 request.POST
apneadiving
  • 114,565
  • 26
  • 219
  • 213
5

Yes, you can. According to How to not use Rails action parameter in controller , you can get it by:

if request.method == "POST"
  action = request.request_parameters['action']
else
  action = request.query_parameters['action']
end
Lane
  • 4,682
  • 1
  • 36
  • 20