Я хочу разрешить параметр queries
.Но я знаю только, что это хеш с вложенными хешами внутри.Я не знаю, какие ключи внутри него.Например, это может выглядеть следующим образом:
Started PATCH "/en/foos/5ca7a1b883c336410fb0923c" for 127.0.0.1 at 2019-04-09 09:13:46 +0200
Processing by FoosController#update as JS
Parameters: {"queries"=>"{\r\n \"query1\": {\r\n \"query\" : {\r\n \"order_number\" : {\r\n \"$in\" : [\"1\", \"2\"]\r\n },\r\n \"name\" : \"Batman\"\r\n },\r\n \"projection\" : {\r\n \"_id\" : 1,\r\n \"order_number\" : 1\r\n },\r\n \"sort\" : {\r\n \"order_number\" : 1\r\n }\r\n },\r\n \"query2\" : {\r\n }\r\n}", "locale"=>"en", "id"=>"5ca7a1b883c336410fb0923c"}
Completed 200 OK in 15ms (Views: 0.6ms)
Мне нужно разобрать параметры перед тем, как продолжить:
params[:queries] = JSON.parse(params[:queries])
# =>
# {
# "query1": {
# "query": {
# "order_number": {
# "$in": ["1", "2"]
# },
# "name": "Batman"
# },
# "projection": {
# "_id": 1,
# "order_number": 1
# },
# "sort": {
# "order_number": 1
# }
# },
# "query2": {
# }
# }
После анализа я хочу разрешить это, но params.permit([{queries: {}}])
don 't разрешить все вложенные хэши.
Итак, как мне просто разрешить параметр queries
с любым вложенным содержимым?