试图测试我的嵌套Rails 5表单(mintest)

时间:2017-08-17 02:31:58

标签: ruby-on-rails nested-forms minitest fields-for

实际的嵌套表单本身运行正常,但我希望能够进行测试以确保我不会在以后搞砸它。我还计划了更多的嵌套表格,所以我真的很想弄清楚这一点。

我在ListControllerTest中得到了这个失败的测试:

"ListItem.count" didn't change by 1.
 Expected: 1
 Actual: 0

使用此代码:

https://pastebin.com/BRdtZW2T

请注意" List.count"有点过。同样,这确实与它应该完全一样。当我在我的应用程序上实际提交表单时,我可以使用列表项创建列表没问题。

列表是使用form_for创建的 ListItems使用fields_for

创建

1 个答案:

答案 0 :(得分:0)

想出来。首先,我删除了' list_item_attributes'从我的测试中发布的params。这似乎是多余的,我不确定为什么我将它添加到那里直到我删除它,我的测试引发了一个不同的错误:

TypeError: no implicit conversion of Symbol into Integer
    app/controllers/lists_controller.rb:15:in `[]'

不知道这是关于什么的,但是一些谷歌搜索出现了这个:

http://billpatrianakos.me/blog/2013/09/29/rails-tricky-error-no-implicit-conversion-from-symbol-to-integer/

事实证明这正是我的问题。所以我在我的参数中添加了一些额外的square []括号:[:list] [:list_item],并且它有效。请参阅修订后的pastebin以及文章,因为这可能并不清楚:

https://pastebin.com/uxRjsctK