这是我很久以来一直想问的一个问题,但到目前为止,我只是将其视为“Rails 魔法”。正如标题所述,为什么 Rails 表单助手看起来像一个 do 循环?如果您查看官方 Rails 文档,它似乎没有解释这一点,它只是通过给出以下作为基本示例直接跳进去:
<%= form_tag do %>
Form contents
<% end %>
那么这里到底发生了什么?为什么表单似乎正在创建一个循环,而不是其他语言中没有所述循环的输入表单。
<%= form_for @person, url: {action: "create"} do |person_form| %>
<%= person_form.text_field :name %>
<%= fields_for @person.contact_detail do |contact_details_form| %>
<%= contact_details_form.text_field :phone_number %>
<% end %>
<% end %>