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中创建多个问题? 我花了几个小时试图找出如何完成第二个,所有的信息,我能够找到与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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |