2017-08-17 121 views
0

實際的嵌套窗體本身工作正常,但我希望能夠覆蓋它的測試,以確保我以後不會搞砸。我還計劃了更多的嵌套表單,所以我很想弄清楚這一點。試圖測試我嵌套的Rails 5窗體(最小測試)

我得到這個失敗的測試中我ListControllerTest:

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

有了這個代碼:

https://pastebin.com/BRdtZW2T

注意 「List.count」 位並通過。再一次,這確實按照它應該的那樣工作。當我實際上在我的應用上提交表單時,我可以創建列表項目沒有問題。

列表與的form_for listItems中與fields_for

回答

0

想通了創建創建。首先,我從我的測試中發佈的參數中刪除了'list_item_attributes'。這似乎是多餘的,我不知道爲什麼我在那裏加入它,直到我刪除它,我的測試提出了不同的錯誤:

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/

事實證明了這恰好是我的問題。所以我在params中添加了一些額外的square []括號:[:list] [:list_item],並且它運行正常。請參閱修訂後的pastebin以及文章,因爲這可能不明確:

https://pastebin.com/uxRjsctK