Rails的产生子的形式,既可以通过取得动作和新动作呈现的页面呈现在页面上使用。 如果是前者窗体的方法设置为PUT,如果是后者表单的操作设置为POST。
如何轨决定使用哪种方法?
Rails的产生子的形式,既可以通过取得动作和新动作呈现的页面呈现在页面上使用。 如果是前者窗体的方法设置为PUT,如果是后者表单的操作设置为POST。
如何轨决定使用哪种方法?
如果传递给表单对象persisted?
,表单生成器知道你正在更新一个对象,因此将呈现一个PUT
动作。 如果不坚持的话,就知道你正在创建一个新的对象,它会使用POST
。
<%= form_for @user do |f| %>
<%= f.button %>
<% end %>
如果@user
是一个新的记录, POST
使用和按钮标签变成Create User
,否则PUT
的使用和标签变得Update User
。 有没有什么更给它。
形式编辑现有资源使用PUT
,创建一个新的资源利用形式POST
。 按照描述REST标准在这里 。
从轨道form_for
助手代码:
action, method = object.respond_to?(:persisted?) && object.persisted? ? [:edit, :put] : [:new, :post]
和persisted?
ActiveRecord的声明为:
!(new_record? || destroyed?)