具有复杂参数和空数组的强参数

时间:2013-11-01 11:50:14

标签: ruby-on-rails ruby-on-rails-4 strong-parameters

我一直遇到Rails 4的问题和强参数的使用,我似乎无法在Rails指南或Strong Parameters github页面中找到答案。

假设我有一个对象通过HTTP POST请求进入我的应用程序,如下所示:

{
  "name": "My Object",
  "children": {
    "child_1": [1,2,3],
    "child_2": []
  }
}

我已经允许参数:

params.permit(:name, {children: [{child_1: []}, {child_2: []}]});

现在,child_1被允许通过罚款,但child_2被删除为未经许可。如何允许空数组传递给模型?

另外,如果我想传递child_1:

{
  "name": "My Object",
  "children": {
    "child_1": 1,
    "child_2": []
  }
}

现在,我不想将child_1作为数组传递,而是希望允许一个整数,这样用户可以传递单个ID或ID数组。

这是否可以使用强参数?如果是,那么permit语句会是什么样的?

感谢。

0 个答案:

没有答案