0

我认为其中涉及某种约定。这些是什么?

假设@person是一个具有正确条目的资源实例,那么这个表单中的数据会去哪里?

<%= form_for @person do |f| %>
  First name: <%= f.text_field :first_name %><br />
  Last name : <%= f.text_field :last_name %><br />
  Biography : <%= f.text_area :biography %><br />
  Admin?    : <%= f.check_box :admin %><br />
  <%= f.submit %>
<% end %>
4

1 回答 1

0

是的,这是一个约定。Rails 会查看它@person是现有记录还是新记录(取决于是否@person.id存在)。

  • 如果@person是 a new record,Rails 会将表单的动作指向PeopleController.create带有POST请求的动作
  • 如果@personexisting record,Rails 会将表单的操作指向以PeopleController.update@person.id 作为参数的操作(将在 params[:id] 中出现)并发出PATCH请求
于 2013-09-22T05:46:30.937 回答