6

您如何在 Rails 中安静地执行删除和放置操作?我已阅读文档并认为我做的一切都正确,但我似乎无法让它工作。

例如,如果我想删除一个员工,我会创建一个名为“EmployeesController”的控制器并创建一个destroy 方法来执行删除。

然后我进入 routes.rb 文件并输入map.resources :employees,这使您可以访问 URL 辅助函数。

无论我想从中调用 Ajax 操作,我都应该有如下一行:

<%= link_to_remote "Delete", employee_path(@employee), :method => :delete %>

当我单击该链接时,它仍在发送 POST 操作,因此它什么也不做。

我错过了什么或做错了什么?

4

4 回答 4

6

尝试

:url => employee_url(@employee)

IIRC,*_path 是由包含该方法的 :resource 指令生成的命名路由,从而覆盖您的 :method => :delete

于 2008-10-02T14:28:45.100 回答
4

从我的代码:

<%= link_to_remote "Delete", :url => post_url(post), :method => :delete %>
于 2008-10-02T14:32:28.663 回答
0

只是添加一些额外的细节:使用:url => employee_url(@employee)帮助(来自接受的答案)。让我感到困惑的另一部分是我期待一个 HTTP 删除请求,但我不断收到带有设置为删除的参数“_method”(由 rails 自动添加)的 POST 请求。

所以它调用了正确的销毁操作,我通过向控制器添加几个调试语句来证明这一点。是的,我的删除代码在控制器中是错误的,所以当我认为它是时它并没有真正删除。

于 2008-10-03T23:13:15.787 回答
-1

如果您的问题是没有 AJAX 请求,您必须添加正确的 javascript 标签

于 2010-08-21T11:32:31.150 回答