我正在尝试为Book对象实现一个嵌套形式,该对象可以具有多个BookAuthor对象。我已经按照this教程在Rails 6中使用Cocoon gem进行了此操作,但是它不起作用。表单本身在前端运行良好,可以正确添加和删除BookAuthor字段。服务器接收的参数包含正确数量的BookAuthor属性,但是即使主Book对象确实将这些子对象也不会写入数据库。我已经能够使该协会正常工作。
[javascript或rails控制台均未输出错误。
注意:忽略book.rb中的include Hashid::Rails
,无论是否使用此方法,我都尝试过,并且发生相同的事情。另外,请忽略对book.rb中的Chapter对象的任何引用,因为这些引用尚未成为表单的一部分。
以下是相关模型,视图和控制器的代码。模型文件还包含该模型的表模式。如果您需要更多代码,请告诉我。
服务器收到的参数(从服务器控制台):https://pastebin.com/nxAXkD3T
book.rb:https://pastebin.com/Xtxf52eT
book_author.rb:https://pastebin.com/miFhb5wR
_ form.html.haml:https://pastebin.com/YaW1gRUe
_ book_author_fields.haml:https://pastebin.com/FJw7CR2f
books_controller.rb:https://pastebin.com/0NYsCc7x
application.js:https://pastebin.com/rZLpe0iS
Gemfile:https://pastebin.com/TcGrQ9f5
Gemfile.lock:https://pastebin.com/apCMxNkJ
package.json:https://pastebin.com/9U7mB2NK
yarn.lock:https://pastebin.com/H3AzG3Bi
[BKSpurgeon的评论是正确的解决方案,从book.rb中删除attr_accessor
行。