为什么rails表单助手会改变我提供的id /名称,如何让它停止?

时间:2016-08-16 20:47:13

标签: ruby-on-rails form-helpers

这是最基本的,我尝试将text_field添加到页面。

<%= text_field "specs[#{spec.id}]", :height, value: spec.height %>

单独,当id为nil时,这可以正常工作。它会生成

<input type="text" name="specimens[][height]" id="specimens__height">

这正是我想要和需要的。

不幸的是,如果我之前已经在页面中添加了相同的元素,它会给我带来疯狂的东西。

<input type="text" name="specimens[0/1/2][height]" id="specimens__height">

检查我正在比较的元素,ID仍为nil。什么也没有变。似乎有某种轨道魔法出现并取代我试图提供的价值。它似乎将空数组替换为以前使用帮助程序时先前值的斜杠分隔列表?但我不知道为什么会这样。

为什么会发生这种情况,我该如何制止呢?

1 个答案:

答案 0 :(得分:1)

您需要text_field_tag

<%= text_field_tag "specs[#{spec.id}]", spec.height, placeholder: 'Enter' %>