繁体   English   中英

从 Rails 表单构建器获取输入名称

[英]Get input name from Rails form builder

如何获取带有表单输入名称的字符串?

<%= form_with model: @post do |f| %>
  <%= f.text_field :name %>
  <!-- Will produce HTML <input type="text" id="post_name" name="post[name]" value="" /> -->
<% end %>

问题是如何在不生成输入名称的情况下获取输入名称的名称? 这个例子是否应该是一个字符串“post[name]”

当您在form_with model: @post块中时,您可以像这样构建"post[name]"字符串:

"#{dom_class(f.object)}[name]"

查看dom_class的文档

您可能正在寻找的是object_name方法

f.object_name应该返回"post"

它也适用于多个嵌套fields_for

<%= form_with model: @team do |team| %>
  <%= team.fields_for :players do |player| %>
  <%# for 1st player: player.object_name #=> "team[players_attributes][0]" %>
<% end %>

无论您遇到什么情况,您仍然必须在括号"[field_name]"之间连接您的字段名称,因此您可以轻松地为您的输入字段构建正确的名称

暂无
暂无

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

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