我认为涉及某些约定。它们是什么?
假设@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 %>
答案 0 :(得分:0)
是的,这是一个惯例。 Rails会查看@person
是现有记录还是新记录(取决于@person.id
是否存在)。
@person
是new record
,则Rails会将表单的操作指向PeopleController.create
请求的POST
操作@person
是existing record
,则Rails会将表单的操作指向PeopleController.update
操作,并将@ person.id作为参数(将以参数[:id}显示) ])并提出PATCH
请求