在 Ruby on Rails 的常规表单中,如果使用 form_for 构建模型,如 API 文档所述,form_for 不会创建独占范围,并且可以在 form_for 表单中使用 form_tag 函数。
例如:
<% form_for :person, @person, :url => { :action => "update" } do |f| %>
First name: <%= f.text_field :first_name %>
Admin? : <%= check_box_tag "person[admin]", @person.company.admin? %>
<% end %>
但是,在嵌套形式中,标签和字段的名称由 Rails 自动生成,以与给定的嵌套模型相关联,并且在一次创建多个嵌套模型时不会重叠。是否仍然可以使用 form_tag 功能?
我想做这样的事情:
<% person_form.fields_for :children do |child_form| %>
Name: <%= child_form.text_field :name %>
Give up for Adoption?: <%= check_box_tag "adoption_" + child_form_index, false %>
<% end %>
但是,如果有多个孩子,我不知道如何访问 child_form 的索引以确保 check_box_tag 具有唯一值。
我正在尝试做的事情可能吗?