我尝试做的很简单。
我在表单中有一些可填写的字段。为了使表单看起来更干净,我想将简单的链接显示为添加字段,并通过js无阻碍地显示下面的可选字段。
如果该字段存在,则将其保存到数据库中。该字段还有一个删除链接。单击此删除链接时,将删除该字段,并在保存时从数据库中删除其值。
看起来很简单,但我还没有找到一个简单的方法。整个解决方案涉及许多方面,例如将隐藏数据传递给控制器,以查看记录是否被隐藏,以便从数据库中删除其数据。
我更喜欢已为此目的优化的宝石,但我找不到任何宝石。我发现的是用于相关记录,但事实并非如此。这些不是关联,只是来自同一模型的可选属性。
nested_form_fields gem它也不合适,因为它需要一个复选框或单选按钮才能触发,而不是添加字段/删除字段链接,我认为这些链接看起来更干净。
有没有像宝石这样的东西来完成这件简单的事情?
答案 0 :(得分:0)
而不是尝试发送隐藏数据等。为什么不加载所有表单域而是display:none
。当用户单击“显示”按钮时,您将显示该字段。如果单击隐藏按钮,只需将该字段设置为null并隐藏它。
当表单到达控制器时,它会将空值保存到隐藏字段的数据库中(就像删除值一样)。