我使用的是带有Ruby 2.5.5的Rails 6。我正试图写一个控制器方法的例子,在过去的几个小时里,有件事让我感到困惑:
为什么:
post :create, params: { purchases: [{ board_id: 1, squares: [ [3,4] ] }] }, format: :json
传递这些参数:
POST { "purchases": [{"board_id"=>"16", "squares"=>[["3"], ["4"]] }] }
注意[3,4]是如何变成[["3"],["4"]]的。它在浏览器中运行良好,只是不适用于rspec。
根据https://github.com/rspec/rspec-rails/issues/985这个修复了它:
post :create, params: { purchases: [{ board_id: 1, squares: [ [3,4] ] }] }, as: :json
谢谢Rspec!