我正在尝试使用以下模型创建一个简单的应用程序:类别 --[has_many]--> questions --[has_many]--> answers
我有以下用于创建类别+问题的代码(类别/_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
我使用所有相同的代码来创建问题+答案(questions/_form.haml.html)。我已经配置了所有关系、强参数、嵌套属性和控制器,它对我来说很好用。
两个问题:
如何在 categories/_form.haml.html 中创建多个问题?
如何一次为每个问题创建类别 + 多个问题 + 多个答案(在 categories/_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:
我在这里想念什么?