从Rails 4.2升级到5.1后,似乎只有测试,当我提供类似的东西时:
post :create, params: {
model: {
prices: [[2000, "EUR"], [2113.56, "USD"]],
estimates: [[50, 2500, "EUR"], [505, 2600, "USD"]]
}
}
然后在控制器的参数内解析它:
prices: [["2000"], ["EUR"], ["2113.56"], ["USD"]]
estimates: [["50"], ["2500"], ["EUR"], ["505"], ["2600"], ["USD"]]
幸运的是,正确解析了对控制器的实际调用。 我显然需要修复测试,所以任何帮助都会非常感激!
答案 0 :(得分:2)
经过这么多时间后找到了答案..
我们认为只有:
@request.headers['Accept'] = 'application/json'
在设置中没问题。
但我们还必须包括:
@request.headers['Content-Type'] = 'application/json'
为了正确解析参数!
答案 1 :(得分:0)
添加as: :json
选项:
post :create, as: :json, params: {
model: {
prices: [[2000, "EUR"], [2113.56, "USD"]],
estimates: [[50, 2500, "EUR"], [505, 2600, "USD"]]
}
}