ruby-on-rails - Rails 5.1 minitest 展平 params 中的数组数组

标签 ruby-on-rails arrays parameters ruby-on-rails-5.1

从 Rails 4.2 升级到 5.1 后,似乎仅用于测试,当我提供类似以下内容时:

post :create, params: {
  model: {
    prices: [[2000, "EUR"], [2113.56, "USD"]],
    estimates: [[50, 2500, "EUR"], [505, 2600, "USD"]]
  }
}

然后在 Controller 的参数中将其解析为:

prices: [["2000"], ["EUR"], ["2113.56"], ["USD"]]
estimates: [["50"], ["2500"], ["EUR"], ["505"], ["2600"], ["USD"]]

幸运的是,对 Controller 的实际调用被正确解析。 显然,我需要修复测试,所以任何帮助将不胜感激!

最佳答案

花了这么长时间才找到答案..

我们认为只要: @request.headers['接受'] = 'application/json' 在设置中没问题。

但我们还必须包括: @request.headers['Content-Type'] = 'application/json' 为了正确解析参数!

关于ruby-on-rails - Rails 5.1 minitest 展平 params 中的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44119273/

相关文章:

ruby-on-rails - 我什么时候应该使用 before_filter 和 helper_method?

ruby-on-rails - 在 Ruby on Rails 中重构一些模型方法

c - 函数参数中的*和&有什么区别?

ruby-on-rails - Rails 控制台历史命令(通过 pry)——它可以被 grepped 或 tailed 吗?

arrays - 通过对另外两个数组的所有元素应用二元运算来在 Swift 中创建数组

python - 在n维数组中迭代修改基于数组的索引元素

c - for 循环查找数组中的最小元素

javascript - 使用 IIFE 并传入参数,我应该什么时候这样做? JavaScript

java - 根据固定引用验证参数

ruby-on-rails - bundle 执行 rake Assets :precompile