Запись вложенных атрибутов как strong_params, когда у него есть рекурсивная ассоциация? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть меню, которое может указывать на родительское меню

menu has_one submenu, class: 'menu'

menu belongs_to parent, inverse_of submenu

Меню может быть ребенком, внуком .... отличным внуком x5 другого меню, и я не уверен, как настроить эту рекурсивную ассоциацию в сильных параметрах ...

Если бы я жестко запрограммировал его, это выглядело бы так (для великих внуков х3)

  def menu_params
    params.require(:menu).permit(
      :id,
      :title,
      :menu_type,
      :menu_item_id,
      :should_skip_order_validation,
      submenu_attributes: [
        :id,
        :title,
        :menu_type,
        :menu_item_id,
        submenu_attributes: [
          :id,
          :title,
          :menu_type,
          :menu_item_id,
          :should_skip_order_validation,
          submenu_attributes: [
            :id,
            :title,
            :menu_type,
            :menu_item_id,
            :should_skip_order_validation,
          ]
        ]
      ]
    ]
  ]
)
  end

Может ли кто-нибудь предложить способ разрешения этой рекурсии происходить в моем контроллере, не вызывая переполнение стека?

Спасибо

...