Rails 4:更改简单表单输入的“名称”属性

Posted

技术标签:

【中文标题】Rails 4:更改简单表单输入的“名称”属性【英文标题】:Rails 4: Change 'name' attribute of Simple Form input 【发布时间】:2015-09-22 10:56:04 【问题描述】:

我在 Rails 4 应用程序中为 @user 对象使用 Simple Form 并有一行...

= f.input :entity_name

这会在 input 标记内生成 html name='user[entity_name]'。我想更改它,因为我在控制器中进行了一些自定义处理,但还没有找到这样做的方法。

我已尝试将行更改为...

= f.input :entity_name, name: 'entity[name]'

...但这似乎根本不会影响生成的 HTML。到目前为止,我还没有在 Google/Stack Overflow 上找到其他人提出这个问题。

有谁知道是否/如何可以通过简单表单帮助器更改名称属性?

提前致谢!

【问题讨论】:

【参考方案1】:

诀窍是使用input_html 选项。

= f.input :entity_name, input_html:  name: 'entity[name]'  

【讨论】:

【参考方案2】:

如果您只想更改显示的字段标签:

= f.input :entity_name, label: 'new_input_field_name'

【讨论】:

以上是关于Rails 4:更改简单表单输入的“名称”属性的主要内容,如果未能解决你的问题,请参考以下文章

提交表单时,不会保存对 Rails 输入标记的 javascript 更改

Ruby on Rails:以表单提交数组

如果表单输入没有明确使用它,如何设置Spring Form和Thymeleaf不更改作为模型属性添加的对象的字段?

Rails 简单的表单输入显示/隐藏

为一个属性使用多个输入字段

Rails 4 / jQuery:需要在表单输入中输入值以自动填充其他输入