Rails 6嵌套表格的茧不会保存子对象

问题描述 投票:0回答:1

我正在尝试为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

ruby-on-rails ruby nested-forms ruby-on-rails-6 cocoon-gem
1个回答
0
投票

[BKSpurgeon的评论是正确的解决方案,从book.rb中删除attr_accessor行。

© www.soinside.com 2019 - 2024. All rights reserved.