繁体   English   中英

为什么Rails表单助手会更改我提供的ID /名称,如何使其停止?

[英]Why do rails form helpers change the id/name I provide, and how can I make it stop?

在最基本的情况下,我尝试将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 什么也没有变。 似乎正在出现某种Rails魔术,它正在替代我试图提供的价值。 似乎它用斜杠定界的先前值替换了空数组,该列表在帮助程序的先前使用中具有? 但是我不知道为什么会这样。

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

您需要text_field_tag

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM