Rails生成一个表单部分,可以在get动作呈现的页面和新动作呈现的页面上使用.如果是前者,则将表单的方法设置为PUT,如果后者将表单的操作设置为POST.
rails如何决定使用哪种方法?
解决方法
如果传递给表单的对象是
persisted?
,则表单构建器知道您正在更新对象,因此将呈现PUT操作.如果它没有持久化,那么它知道你正在创建一个新对象,它将使用POST.
<%= form_for @user do |f| %> <%= f.button %> <% end %>
如果@user是新记录,则使用POST并且按钮标签变为Create User,否则使用PUT并且标签变为Update User.没有更多的东西.