我试图用以下型号创建一个简单的应用程序:
类别 – [has_many] – >问题 – [has_many] – >答案
类别 – [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
我正在使用所有相同的代码来创建问题的答案(questions / _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: "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:
我在这里缺少什么?
解决方法
你错了这里:= q.simple_fields_for:answers,q.questions.build do | a |
您正在调用构建器对象q的问题方法,而不是模型对象.
大概你想要这个:
您正在调用构建器对象q的问题方法,而不是模型对象.
大概你想要这个:
= q.simple_fields_for :answers,q.object.questions.build
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。