Ruby on rails Rails使用REST资源并能够在没有表单的情况下删除

Ruby on rails Rails使用REST资源并能够在没有表单的情况下删除,ruby-on-rails,rest,Ruby On Rails,Rest,Rails使用POST和表单中的隐藏字段来模拟对资源的删除。但这使得必须使用表单来删除记录。 但是,如果我想通过行末尾显示的锚定标记“delete”删除行,我将如何实现相同的目标?假设我正在显示人员记录,我的行如下所示: ||名| |姓| | ||Foo | | Bar | |删除 ||Baz| | Foo| |删除 在“删除”按钮上,单击“我想路由到/people/:id/destroy而不使用表单和隐藏字段?” Rails方法支持GET、POST、PUT和DELETEHTTP动词。例如,您

Rails使用POST和表单中的隐藏字段来模拟对资源的删除。但这使得必须使用表单来删除记录。 但是,如果我想通过行末尾显示的锚定标记“delete”删除行,我将如何实现相同的目标?假设我正在显示人员记录,我的行如下所示:

||名| |姓| |
||Foo | | Bar | |删除
||Baz| | Foo| |删除

在“删除”按钮上,单击“我想路由到/people/:id/destroy而不使用表单和隐藏字段?”

Rails方法支持
GET
POST
PUT
DELETE
HTTP动词。例如,您可以执行以下操作:

link_to "Delete", person_path(@person), method: :delete, confirm: "Are you sure?"

我知道我可以添加:map.connect'people/:id/destroy',:controller=>'people',:action=>'destroy',但是我只想使用map.resource:people,我已经拥有了,除了delete之外,其他功能都可以使用。真棒,非常有魅力。Rails为href添加onClick事件,然后使用JS设置整个表单。很好@但是对于关闭JS的浏览器,这是如何工作的呢?他们不应该也能使用链接吗?如果不启用JS,这个解决方案将不起作用。链接无法发送删除请求。当您指定
method::delete
时,它所做的只是向rails ujs监视的链接添加一个
data method
属性。如果您需要一个不使用js的解决方案,而您需要使用按钮并将其样式设置为链接。