Rails 3:为什么空的嵌套表单会生成隐藏的输入字段?

为什么这个:

# edit.html.erb   # Nothing here   

生成隐藏的输入字段:

  

相关控制器代码:

 def edit @product = Product.find(params[:id]) end 

这是因为你正在编辑的@product有一个商店。 Rails已将其插入fields_for中,以便在提交表单时,它知道这些嵌套属性适用于哪个商店。 它是默认的嵌套属性行为。