2014-09-06 78 views
0

我的问题很简单。如何在使用path()助手时指定http方法?我希望能够删除一个记录,所以DELETE方法是必要的。可以说我的路径如下所示:设置路径的HTTP方法()

{{ path("post_delete", {"id": post.id}) }} 

其中'post'是小枝变量当然。任何想法我需要什么来实现我的目标?

+0

我相信路径输出简单的URL作为字符串。字符串不能有HTTP方法。 – CappY 2014-09-06 20:50:42

+0

你需要在路由控制器中加入'array('DELETE')' – Ohgodwhy 2014-09-06 20:53:09

+0

@Ohgodwhy详细信息?我没有routecontroller ... – Leo 2014-09-06 20:54:16

回答

1

你不能。 URL中没有http方法。你有没有在浏览器地址栏中看过POST或GET?

如果您通过在浏览器的地址栏中输入URL来打开URL,它将变为GET。只有在浏览器中使用其他方法的方法是提交表单或使用AJAX。你不能创建DELETE超链接,即使你可以这将是一个坏主意。

我想要删除按钮的客人。在Symfony中最简单的方法是在一个提交按钮旁边创建一个没有任何东西的表单。它给你选择HTTP方法并给你CSRF保护的可能性。

顺便说一句我建议将问题名称更改为“如何在Symfony中创建删除按钮?”。

+1

好吧,例如在RoR中,link_to方法有选项方法:它可以让你将其设置为“删除”,我认为这种情况可能类似 – Leo 2014-09-07 11:03:42

+0

@Leo我只是挖出来,发现[这个问题](http://stackoverflow.com/questions/2809200/how-does-rails -3s-data-method-delete-degrade-gracefully)关于RoR的link_to方法。就像你所看到的,实际上RoR通过添加内联JavaScript来完成它。 – 2014-09-08 11:38:41