Macabeus Macabeus - 3 months ago 11
JSON Question

Permit array in params

I have the following JSON:

{
"name": "pizza",
"ingredients": [
{"name": "tomato", "amount": 3, "unit": "un"},
{"name": "chesse", "amount": 100, "unit": "gr"}
]
}


And I pass this JSON using POST to my controller, then I need to trust this paramters but I'm not be able to permit the array of hash
ingredients
.

How to permit it?
I tried
params.permit(:ingredients).permit(:name, :amount, :unit).to_h
, but it doesn't work.

Answer

params.permit(:name, :ingredients => [:name, :amount,:unit]) should do the trick.

Read Nested Parameters.

Comments