基本上,我有4个级别的嵌套表单。 A具有C具有D,D具有多态性(A也具有D)。我在一个表单上编辑所有这些,使用javascript添加/删除B,C和D对象。
问题在于,每当我编辑D而不编辑A,B或C中的任何属性时,更改都不会保存。这包括添加D或编辑现有D的属性。
如果我更改任何父模型(A,B或C)中的属性,则更改会保存。
我的完全问题与Marking multi-level nested forms as "dirty" in Rails
相同在那个问题中确定它是Rails 2.3.5中的一个错误。我正在运行2.3.11。该错误是否可能被重新引入?有谁知道怎么检查?
非常感谢...谢谢!
答案 0 :(得分:1)
我的解决方法只是为了确保沿线的某处“弄脏”父记录。我相信只要确定你在父记录上设置一个值就行了,即使这个值与db中的值不同。
当我处理这个问题时,我创建了一个jQuery动态父/子/孙子表单方法。如果它对你有用,你可以在这里找到它:http://amillionbetterthings.com/2010/06/24/rails-nested-forms-with-ajax-add-and-remove/。