根据提供的代码片段,可以看出使用了fields_for方法来生成表单字段。在fields_for方法中,传递了@product_skus变量作为参数,这意味着在生成表单字段时,会使用@product_skus变量的值作为表单字段的名称。

所以,生成的表单字段为name="product[product_sku][title]",而不是name="product[product_skus][title]"。这是因为在new方法中,@product_skus被初始化为一个ProductSku对象,而不是一个集合或数组。

如果想要生成name="product[product_skus][title]"的表单字段,需要将@product_skus变量修改为一个包含多个ProductSku对象的集合或数组。例如:

@product_skus = [ProductSku.new, ProductSku.new]

然后在视图中使用fields_for方法时,传递@product_skus变量作为参数:

<%= f.fields_for :product_skus, @product_skus do |product_sku| %>
  <%= render "product_sku_fields", f: product_sku %>
<% end %>

这样就会生成name="product[product_skus][title]"的表单字段

def new product = Productnew product_skus = productproduct_skusbuild enddiv class=my-2 data-controller=nested-rondo div data-nested-rondo-target=fieldContain if product_skuspresent

原文地址: https://www.cveoy.top/t/topic/icqV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录