Rails 3插件nested_form与JavaScript在嵌套表单中动态添加表单字段的比较
Rails 3 plugin nested_form versus JavaScript appraoch for adding form fields dynamically in a nested form
我正在研究如何为嵌套模型动态添加表单字段,并偶然发现了ryab的nested_form插件。毫无疑问,这是一段很棒的代码,但我想知道为什么它必须如此复杂?
示例:用于创建/添加项目的表单分配了一个或多个任务。用户可以通过单击添加任务按钮来动态添加更多任务。一个项目必须至少有一个任务。每个任务都有一个名称和描述。
那么为什么不:-生成html时,使用给定ID(如"dynamic_fields")的div遍历每组任务字段-当用户单击添加任务按钮时,通过link_to_function调用JavaScript函数来克隆dynamic_fields子树。在任务列表的底部插入一组新字段。-通过JavaScript,删除新添加字段的值,并将子ID替换为唯一的值(Ryan建议使用基于当前时间的值)
我知道nested_foorms插件也适用于更深层次的嵌套结构,但鉴于我的简单用例只有一个层次,上面概述的方法实用吗?还是我错过了什么重要的东西?欢迎提供有关此主题的任何指导。
基本上,插件的工作原理与您描述的一样,但使用了表单分部作为基础。嵌套对象的id必须是唯一的,并且很容易坚持到当前的毫秒时间。
处理这个问题的方法是可行的,但需要一些额外的html来捕获表单中所需的部分,并匹配属于哪个附加对象的内容。
Ryan Bate的代码看起来很复杂,但事实并非如此。它引入了复杂的方法,只是为了让您的视图看起来不错。
我认为这个问题还有另一个解决方案,一颗名为茧的宝石。
相关文章:
- jQuery动态表单显示在select选项上
- 动态Javascript表单不起作用
- 将表单张贴到MailChimp,但显示动态成功页面
- 如何在js中实现树结构类型的表单动态填充
- 向laravel表单动态添加字段
- 通过javascript向表单动态添加验证
- HtmlService表单-动态下拉列表
- 引导表单动态添加带有字段的删除表单
- 为多个表单动态指定输出ajax成功结果的位置
- POST 表单动态生成的输入
- 如何使用PHP将我从表单动态添加的行添加到mySQL数据库
- 表单动态属性更改和提交不起作用
- 为php表单动态生成文本框,将它们放入数组,内爆为字符串,并将字符串写入数据库
- Persist通过post通过PHP表单动态生成html
- Django使用谷歌地图自动建议将表单动态添加到表单集
- 添加<表单动态参数Action="">
- 条纹:不能添加到表单动态创建的表格通过javascript
- Zend表单-动态添加子表单
- PHP表单动态输入
- Firefox中的表单动态中断