我有一个Ruby on Rails应用程序,它有一个带有嵌套属性的表单。此表单允许使用一些javascript动态添加字段。该表单还通过AJAX提交模糊。
除了一个以动态添加字段为中心的问题外,一切都运行良好。
通过Javascript添加动态字段时,会为其分配唯一ID。但是,表单字段的ID和模式显然与保存字段后rails生成的名称不匹配。
由于AJAX表单提交,每次更改表单时,动态添加的字段都会创建一个新的DB条目。
我需要找到一种方法来优雅地处理这样一个事实:我需要在AJAX提交后检索生成的rails并修改/替换页面上的那个 - 否则新字段将继续复制!
您可以在以下位置查看我的代码:https://github.com/michaelward82/WeddingPlanner/tree/UI
(道歉,如果我的Rails代码不是最干净的,这是我在真正的rails项目上的第一次真正的尝试,我仍在学习模式)
答案 0 :(得分:1)
我认为您遗失的是:dependent => :delete_all
关联中的belongs_to
参数。这使得Rails在保存新集时删除旧的预算项目:
# budget_item.rb
belongs_to :budget, :dependent => :delete_all