实际的嵌套表单本身运行正常,但我希望能够进行测试以确保我不会在以后搞砸它。我还计划了更多的嵌套表格,所以我真的很想弄清楚这一点。
我在ListControllerTest中得到了这个失败的测试:
"ListItem.count" didn't change by 1.
Expected: 1
Actual: 0
使用此代码:
请注意" List.count"有点过。同样,这确实与它应该完全一样。当我在我的应用程序上实际提交表单时,我可以使用列表项创建列表没问题。
列表是使用form_for创建的 ListItems使用fields_for
创建答案 0 :(得分:0)
想出来。首先,我删除了' list_item_attributes'从我的测试中发布的params。这似乎是多余的,我不确定为什么我将它添加到那里直到我删除它,我的测试引发了一个不同的错误:
TypeError: no implicit conversion of Symbol into Integer
app/controllers/lists_controller.rb:15:in `[]'
不知道这是关于什么的,但是一些谷歌搜索出现了这个:
事实证明这正是我的问题。所以我在我的参数中添加了一些额外的square []括号:[:list] [:list_item],并且它有效。请参阅修订后的pastebin以及文章,因为这可能并不清楚: