Вложенная форма-кокон Rails 6 не сохраняет подобъекты - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь реализовать вложенную форму для объекта Book, который может иметь несколько объектов BookAuthor. Я следил за этим учебником, чтобы сделать это с гемом Cocoon в Rails 6, однако он не работает. Сама форма хорошо работает в интерфейсе пользователя, правильно добавляя и удаляя поля BookAuthor. Параметры, которые получает сервер, содержат правильное количество атрибутов BookAuthor, но эти подобъекты не записываются в базу данных, хотя это делает основной объект Book. Мне удалось заставить ассоциацию работать должным образом.

Нет вывода ошибок ни с javascript, ни с консолей rails.

Примечания: игнорируйте include Hashid::Rails в book.rb , Я пробовал как с этим, так и без него, и происходит то же самое. Также игнорируйте любые ссылки на объекты Chapter в book.rb, поскольку они еще не являются частью формы.

Ниже приведен код для соответствующих моделей, представлений и контроллеров. Файлы модели также содержат схему таблицы для этой модели. Если вам потребуется еще какой-либо код, сообщите мне.

Параметры, которые получает сервер (из консоли сервера): 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

приложение. js : https://pastebin.com/rZLpe0iS

Gemfile: https://pastebin.com/TcGrQ9f5

Gemfile.lock: https://pastebin.com/apCMxNkJ

пакет. json: https://pastebin.com/9U7mB2NK

пряжа. Замок: https://pastebin.com/H3AzG3Bi

1 Ответ

1 голос
/ 07 мая 2020

Нет необходимости добавлять attr_accessor :book_authors_attributes. в вашем book.rb. удалите его.

Это автоматически добавляется с некоторыми rails magi c.

...