如何获取带有表单输入名称的字符串?
<%= 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]"
之间连接字段名称,以便您可以轻松地为输入的字段构建正确的名称