加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用simple_form和rails创建多个嵌套表单4

发布时间:2020-12-16 20:12:49 所属栏目:百科 来源:网络整理
导读:我试图用以下型号创建一个简单的应用程序: 类别 – [has_many] – 问题 – [has_many] – 答案 我有以下代码来创建类别问题(categories / _form.haml.html): = simple_form_for(@category) do |f| = f.error_notification = f.input :title,label: "Catego
我试图用以下型号创建一个简单的应用程序:
类别 – [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.simple_fields_for :answers,q.object.questions.build

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读