我目前正在使用 cocoon rails gem 来创建嵌套表单。
当我编辑“父亲”实体并删除一些嵌套项目时,就会出现问题,它会添加另一个而不是删除它。我创建了一个 gist 文件,用 ruby on rails 控制台日志更好地解释了它。这是:https ://gist.github.com/msmosso/310835bbb1a4b7cfe1a9 。
感谢提前。干杯!
我目前正在使用 cocoon rails gem 来创建嵌套表单。
当我编辑“父亲”实体并删除一些嵌套项目时,就会出现问题,它会添加另一个而不是删除它。我创建了一个 gist 文件,用 ruby on rails 控制台日志更好地解释了它。这是:https ://gist.github.com/msmosso/310835bbb1a4b7cfe1a9 。
感谢提前。干杯!
在您client_params
指定客户端和嵌套存储允许哪些参数。您没有:id
为商店指定 ,这样可以确保每次保存客户端时,都会将其存储为新的。所以修复实际上非常简单:
def client_params
params.require(:client).permit(:name, stores_attributes: [:id, :client_id, :name, :name2, :district, :address, :number, :complement, :cnpj, :city_id, :mail, :obs, :status, :phone, :phone2, :phone3, :sversion, :_destroy])
end
在我尝试之前我没有看到,doh!
所以:我添加:id
和删除了:created_at
and :updated_at
(最后两个并不真正相关,但你不希望那些在那个列表中)。