rails如何决定使用PUT或POST方法呈现表单?

Und*_*ion 7 forms rest ruby-on-rails form-helpers ruby-on-rails-3

Rails生成一个表单partial,可以在get动作呈现的页面和新动作呈现的页面上使用.如果是前者,则将表单的方法设置为PUT,如果是后者,则将表单的操作设置为POST.

rails如何决定使用哪种方法?

hgm*_*mnz 12

如果传递给表单的对象是persisted?,表单构建器知道您正在更新对象,因此将呈现PUT操作.如果它没有持久化,那么它知道你正在创建一个新对象并且它将使用POST.

<%= form_for @user do |f| %>
  <%= f.button %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

如果@user是新记录,POST则使用按钮标签Create User,否则PUT使用标签变为Update User.没有更多的东西.