Как разрешить массив json с Rails?

#ruby-on-rails #json #parameters #parameter-passing #strong-parameters

#ruby-on-rails #json #параметры #передача параметров #сильные параметры

Вопрос:

Для json

 {
   "version":"1",
   "configs":[
      {
         "title":"Good",
         "body":"Body"
      },
      {
         "title":"Good",
         "body":"Body"
      }
   ]
}
 

Как разрешить это с помощью Rails params.permit в контроллере?

Я пытался

   params.permit(
    config_setting: [
      :version,
      configs: [
        :title,
        :body,
      ]
    ],
  )
 

Но, похоже, это неправильно.

Ответ №1:

В настоящее время вы разрешаете json со следующей структурой:

 {
   "config_setting": [
      {
         "version":"1",
         "configs":[
            {
               "title":"Good",
               "body":"Body"
            },
            {
               "title":"Good",
               "body":"Body"
            }
         ]
      }
   ]
}
 

Просто добавьте config_setting узел к данным или настройте свой блок strong params на:

 params.permit(
   :version,
   configs: [
     :title,
     :body,
   ] 
)
 

Комментарии:

1. На самом деле, это массив config_setting