【发布时间】:2013-08-28 12:09:47
【问题描述】:
我有一个非常简单的问题。但是目前还没有找到解决办法。
这是我发送到服务器的 JSON 字符串:
{
"name" : "abc",
"groundtruth" : {
"type" : "Point",
"coordinates" : [ 2.4, 6 ]
}
}
使用新的许可方法,我得到了:
params.require(:measurement).permit(:name, :groundtruth)
这不会引发错误,但创建的数据库条目包含 null 而不是 groundtruth 值。
如果我只是设置:
params.require(:measurement).permit!
一切都按预期保存,但是当然,这会破坏强参数提供的安全性。
我找到了解决方案,如何允许数组,但没有找到使用嵌套对象的单个示例。这必须以某种方式成为可能,因为它应该是一个非常常见的用例。那么,它是如何工作的呢?
【问题讨论】:
-
@vinodadhikary 是正确的……我认为 OP 很困惑。当您想要允许嵌套属性时听起来很奇怪,您确实在数组中指定了嵌套对象的属性。另一方面,如果您想嵌套多个对象,则将其包装在哈希中……请参阅api.rubyonrails.org/classes/ActionController/… 和 github.com/rails/rails/blob/master/actionpack/lib/…
标签: ruby-on-rails nested-attributes strong-parameters