Ruby on rails Rails 5-从循环对象生成的白名单嵌套字段参数

Ruby on rails Rails 5-从循环对象生成的白名单嵌套字段参数,ruby-on-rails,ruby,Ruby On Rails,Ruby,好的,我这里的问题是,我的参数看起来很有趣,因为我正在循环我的一个表单元素来创建字段 这是密码 parent new form creation.html.erb #other parts of parent form <% @grandparent.friends.each do |g| %> <%= render "child_fields", f: builder %> <% end %> 现在,这些为这些输入自动生成的ID弄乱了我的参数,因为它

好的,我这里的问题是,我的参数看起来很有趣,因为我正在循环我的一个表单元素来创建字段

这是密码

parent new form creation.html.erb

#other parts of parent form

<% @grandparent.friends.each do |g| %>
  <%= render "child_fields", f: builder %>
<% end %>
现在,这些为这些输入自动生成的ID弄乱了我的参数,因为它们在提交时看起来像这样:

"child_attributes"=>{"0"=>{"foo"=>"1", "moo"=>"A"}, "1"=>{"foo"=>"0", "moo"=>"A1"}}
现在我相当确定接受嵌套属性的其他“常规”方面已经正确设置。这只是创建过程中参数的白名单部分,这给我带来了一些麻烦,因为我不知道如何创建

我觉得我需要修改我的参数,但我不太确定如何修改。现在是

child_attributes: [:foo, :moo]

有人能给我指出正确的方向吗?

为什么不尝试使用accept\u nested\u属性,例如:@VishalTajPM抱歉,但我不知道如何解决我的问题。也许你可以详细说明一下?现在我的问题是我的参数被提交,而不是因为有验证错误。Afaik,:inverse_of用于解决持久性问题,主要是因为在创建子项时,父项未命中数据库(在rails5中,在创建子项时强制执行“属于”关系,并且需要父对象)。
accept_nested_attributes
为您处理子字段持久性,因此,您只需保存父对象<用于和接受嵌套属性的代码>字段_旨在协同工作,以实现无缝相关的模型创建。如果您正在与Rails 5的“属于强制”进行斗争,在经历太多的障碍之前,我只需通过将其作为可选项传递来覆盖该行为:
属于:祖父母,可选:真的
@DanielWestendorf哦,是的,我确实知道这一点。我只是回应Vishal关于他的评论以及它如何不适用于我目前面临的问题…为什么不尝试使用accept_nested_属性引用例如:@VishalTajPM抱歉,但我不知道这如何解决我的问题。也许你可以详细说明一下?现在我的问题是我的参数被提交,而不是因为有验证错误。Afaik,:inverse_of用于解决持久性问题,主要是因为在创建子项时,父项未命中数据库(在rails5中,在创建子项时强制执行“属于”关系,并且需要父对象)。
accept_nested_attributes
为您处理子字段持久性,因此,您只需保存父对象<用于和接受嵌套属性的代码>字段_旨在协同工作,以实现无缝相关的模型创建。如果您正在与Rails 5的“属于强制”进行斗争,在经历太多的障碍之前,我只需通过将其作为可选项传递来覆盖该行为:
属于:祖父母,可选:真的
@DanielWestendorf哦,是的,我确实知道这一点。我只是回应Vishal关于他的评论以及它如何不适用于我目前面临的问题。。。
child_attributes: [:foo, :moo]