Я использую вложенные параметры в своем контроллере. параметры отправляются через формы реакции. форма для исходного объекта и набор вложенных форм. проблема в том, что мой объект params
имеет каждый объект, завернутый в объект ActionController::Parameters
.
Я ожидаю, что только основной объект будет заключен в ActionController::Parameters
, а не каждый отдельный вложенный объект.
Отладка: объект params
в элементе управления выглядит примерно так:
ActionController::Parameters {
"_method"=>"post",
"authenticity_token"=>"kano3zIa5vs6JM6s/4fqqOQO61kq75IHlJglHGhlSOoI/yypu2nfV2cnS4VTKx0ENypFqE58wjB9Czq+T4Rbsw==",
"campaign"=>
<ActionController::Parameters {
"name"=>"12",
"advertiser_id"=>"1", "revenue"=>"sd",
"revenue_currency"=>"EUR",
"start_date"=>"2020-05-27",
"end_date"=>"2020-05-27",
"status"=>"done",
"media_budgets_attributes"=>
<ActionController::Parameters {"0"=>
<ActionController::Parameters {"id"=>"",
"_destroy"=>"false",
"title"=>"asdf",
"cost"=>"12",
"cost_currency"=>"EUR",
"affiliate_group_id"=>"1"} permitted: true>} permitted: true>} permitted: true>,
"controller"=>"campaigns",
"action"=>"create"} permitted: true>
Обратите внимание, что каждый объект заключен в оболочку ActionController::Parameters
. Это затрудняет разрешение params. Я ожидаю, что media_budgets_attributes
будет простым массивом в объекте campaign
. но media_budgets_attributes заключен в ActionController::Parameters
, который, в свою очередь, содержит ActionController::Parameters
объектов.
Кто-нибудь может мне с этим помочь?