Я пытаюсь создать простое приложение со следующими моделями: категории - [has_many] → вопросы - [has_many] → ответы
У меня есть следующий код для создания категорий + вопросов (categories/_form.haml.html):
= simple_form_for(@category) do |f|
= f.error_notification
= f.input :title, label: "Category title: "
= f.simple_fields_for :questions, @category.questions.build do |q|
= q.input :content, label: "Question content: "
= f.button :submit
И я использую все тот же код для создания вопросов + ответов (вопросы/_form.haml.html). У меня все отношения, сильные параметры, вложенные attrs и контроллеры настроены, он работает отлично для меня.
Два вопроса:
-
Как создать несколько вопросов в категориях /_form.haml.html?
-
Как создать категорию + несколько вопросов + несколько ответов на каждый вопрос сразу (в категориях /_form.haml.html)?
Я потратил несколько часов, пытаясь понять, как выполнить вторую, и вся информация, которую я смог найти, связана с Rails 3.0 и form_for. Никто из них не работал у меня.
Самое прямое решение здесь должно быть примерно таким:
= simple_form_for(@category) do |f|
= f.error_notification
= f.input :title, label: "Category title: "
= f.simple_fields_for :questions, @category.questions.build do |q|
= q.input :content, label: "Question content: "
= q.simple_fields_for :answers, q.questions.build do |a|
= a.input :content, label: "Answer content"
= f.button :submit
Но это дает мне
undefined method `questions' for #<SimpleForm::FormBuilder:
Что мне здесь не хватает?