閱讀播放2.2.1文檔後,我可以看到沒有內置的機制來處理HTTP刪除方法? (也不是嗎?)當我說內置的我的意思是,例如,軌道有method="delete"
,它可以與<a></a>
一起使用來通過DELETE動詞調用動作。
因此,例如在以下圖片我有一個用戶列表(GET /用戶...)。 播放框架2.2.1通過ajax刪除記錄,方法:刪除
我所理解的,我可以通過AJAX調用模擬delete方法,所以我嘗試了以下方法:
// index.scala.html
@users.map { user =>
...
<td> <a href="#" class="delete-user" data-id="@user.getId()"> Delete </td>
...
}
//的script.js
$(function() {
$('.delete-user').click(function() {
var id = $(this).data('id');
var $that = $(this);
$.ajax({
url: jsRoutes.controllers.Users.delete(id).url,
type: "DELETE"
}).done(function() {
$that.closest('tr').remove();
});
});
});
// Users.java(控制器)
@Transactional
public static Result delete(Long id) {
JPA.em().remove(JPA.em().find(User.class, id));
return ok("User with id=" + id + " has been deleted");
}
那麼這是正確的方式來做到這一點?或者我誤解/忽略了文檔?
Rails並不真正以你理解的方式支持'PUT'和'DELETE'。相反,它使用'POST'並用隱藏字段模擬其他方法。所以是的,你在正確的軌道上。 –
我在框架支持的背景下談論。 – Srle