我正在尝试做一些 Rails 集成测试。
我有一个几乎就在表单助手的 Rails 指南中的案例。
我的 HTML 包含:
<input name="to_org[][str2int]" value="1" type="checkbox">
<input name="to_org[][str2int]" value="2" type="checkbox">
<input name="to_org[][str2int]" value="3" type="checkbox">
该应用程序在 Rails 3.2.2 上运行良好。
现在我想写一个集成测试。我需要以与我的 JavaScript 相同的方式发布数据。我想指出选择了“to_org[]”值 1 和 2。假设 form_url 是一个正确设置的值。
post( form_url, { "to_org[][str2int]" => ???WHAT_GOES_HERE??? } )
发布后,我期待参数保持:
"to_org" => [ {"str2int" => "1"}, {"str2int" => "2"} ]
我尝试了很多不同的东西,浏览了指南,谷歌搜索。
没有人试图发布多个复选框被选中的结果吗?我认为答案并不明显。
如何在集成测试中设置 post() 的参数以使其工作?
PS:正如人们可能猜到的那样,我有一个识别“str2int”的过滤器,并通过对应用程序进行适当的检查和错误恢复来进行转换。最终我的应用程序看到 :to_org = [ 1, 2 ]。