2014-09-06 73 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