有点麻烦,我试图允许数组参数,我已经看到了这个例子...但是我还没有看到一个例子,其中数组是一个对象数组,顶级数组是其中之一被拉入的主要参数。
示例JSON:
{
"message_json": {
"device": {
"deviceid": "002"
},
"measurements":
[
{
"temp": 71.45,
"humidity": 31.5
},
{
"temp": 75.34,
"humidity": 35.9
}
]
}
}
许可的功能:
def device_params
params[:message_json].fetch(:device, {}).permit(:deviceid)
end
def measurement_params
params[:message_json].fetch(:measurements, {}).permit(:temp,:humidity)
end
所以measurement_params
不起作用,我通常知道你会做array_obj: []
之类的事情,但是这个数组对象已经是获取的measurements
参数了吗?我该如何准许这些物品?
答案 0 :(得分:1)
你有没有试过这样的事情:
def measurement_params
params.require(:message_json).permit(measurements: [:temp, :humidity])
end
我现在无法测试。但我处理了这个问题并以这种方式解决了。