Ruby on rails 嵌套cocoon表单只接受动态表的最后一行

Ruby on rails 嵌套cocoon表单只接受动态表的最后一行,ruby-on-rails,ruby,cocoon-gem,Ruby On Rails,Ruby,Cocoon Gem,我目前正在使用cocoon创建一个嵌套表单。我有一张桌子,为每个家庭成员提供信息。当用户单击AddNewMember时,表单会动态创建一个新行。我遇到的问题是,提交表单时,只传递表的最后一行 我尝试了许多不同的事情,包括改变成员的属性,也尝试隔离家庭成员,以便我能看到发生了什么。我试过给他们唯一的身份证,但没用。这可能与rails服务器有关,或者只是一些我看不到的糟糕代码 这里是我嵌套表单的地方 ff%> 这是家庭成员字段的开头: 这是我的控制器 def创建 地址=参数[:地址]。允许(

我目前正在使用cocoon创建一个嵌套表单。我有一张桌子,为每个家庭成员提供信息。当用户单击AddNewMember时,表单会动态创建一个新行。我遇到的问题是,提交表单时,只传递表的最后一行

我尝试了许多不同的事情,包括改变成员的属性,也尝试隔离家庭成员,以便我能看到发生了什么。我试过给他们唯一的身份证,但没用。这可能与rails服务器有关,或者只是一些我看不到的糟糕代码

这里是我嵌套表单的地方


ff%>
这是家庭成员字段的开头:


这是我的控制器

def创建
地址=参数[:地址]。允许([:县])访问
联系人信息=参数[:联系人信息]。允许(参数[:联系人信息]。密钥)。到
住户=参数[:住户类型]。许可证([:房屋类型])至
家庭成员=成员参数
@工作流=CreatesUser.new(地址\信息:地址,
联系人:联系人信息,住户:住户)
@工作流.创建
将\u重定向到用户\u路径
结束
私有的
def成员参数
参数require(:user).permit(家庭成员属性:[:id,:name,:生日,:ssn,:性别,:西班牙裔,:种族,:或部落,:教育,:\u])
结束
当我目前提交两个或两个以上家庭成员时,我只收到一个这样的家庭成员:

"household_members"=>{"name"=>"Fake2", "birthdate"=>"2019-07-21", "ssn"=>"fake2", "gender"=>"Female", "hispanic"=>"0", "race"=>"Alaska Native", "or_tribe"=>"0", "education"=>"Some college"}, "disablility_assistances"=>{"disabled"=>"0", "homebound"=>"0", "snap"=>"0", "ohp"=>"0", "med_insurance"=>"fake2"}, "veteran_statuses"=>{"veteran"=>"0"}
我希望得到这些的倍数。如果你对我所做的错事有任何煽动,我将不胜感激

谢谢

Aala95

在查看“我的代码”返回的内容后,它看起来像是提交了嵌套表单,但仅带有ID和delete:
“user”=>{“househouse\u members\u attributes”=>{“0”=>{“destroy”=>“false”},“1”=>{“user”=>{“destroy”=>“false”}}}

您必须修复嵌套项的部分:删除作用域名称——现在它将是双作用域的,这解释了为什么一些属性位于
househouse\u members
中(您的作用域和被强参数定义阻止)以及家庭成员属性中的一些(预期范围)。此外,不需要添加隐藏字段
:id
(该字段将由数组中的索引自动处理)

因此,请按以下方式填写您的部分内容:

<tr class= "nested-fields">
  <td><% f.label(:name)%>
    <%= text_field(:name) %></td>
  <td><% f.label(:birthdate)%>
    <%= date_field(:birthdate) %></td>
  <td><% f.label(:ssn)%>

您必须修复嵌套项的部分:删除作用域名称——现在它将是双作用域,这解释了为什么有些属性位于
家庭成员中(您的作用域并被强参数定义阻止),而有些属性位于
家庭成员属性中(预期的作用域)。此外,不需要添加隐藏字段
:id
(该字段将由数组中的索引自动处理)

因此,请按以下方式填写您的部分内容:

<tr class= "nested-fields">
  <td><% f.label(:name)%>
    <%= text_field(:name) %></td>
  <td><% f.label(:birthdate)%>
    <%= date_field(:birthdate) %></td>
  <td><% f.label(:ssn)%>


能否显示列出关联的模型定义?您的父模型中是否有家庭成员的
接受\u嵌套\u属性\u?是的,给您!抱歉,我花了这么长时间才回复Household Member:
class HouseholdMember
用户:
类用户<应用记录有多个:地址有一个:联系人信息有一个:家庭类型有多个:家庭成员接受嵌套属性为:家庭成员,允许销毁:true,reject_if::all_blank
能否显示列出关联的模型定义?您的父模型中是否有家庭成员的
接受\u嵌套\u属性\u?是的,给您!抱歉,我花了这么长时间才回复Household Member:
class HouseholdMember
用户:
类用户<应用记录有多个:地址有一个:联系人信息有一个:家庭类型有多个:家庭成员接受嵌套属性为:家庭成员,允许销毁:true,拒绝如果::所有有效的\u blank
!我还必须在文本字段、标签、复选框等前面的正确表单中添加关联。但是你的解释真的帮助我理解了发生的事情!谢谢!成功了!我还必须在文本字段、标签、复选框等前面的正确表单中添加关联。但是你的解释真的帮助我理解了发生的事情!谢谢!