在具有递归关联时将嵌套属性写为strong_params吗?

时间:2019-04-09 12:36:42

标签: ruby-on-rails activerecord ruby-on-rails-5 nested-attributes

我有一个可以指向父菜单的菜单

menu has_one submenu, class: 'menu'

menu belongs_to parent, inverse_of submenu

一个菜单可以是一个子菜单,一个孙子....另一个菜单的x5子孙,我不确定如何在强参数中设置此递归关联...

如果我要对其进行硬编码,它将看起来像这样(对于伟大的x3孙子)

  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

有人可以建议一种允许这种递归在我的控制器中发生而又不会引起堆栈溢出的方法吗?

谢谢

0 个答案:

没有答案