我正在使用Rails和jquery。我有一個鏈接..rails + jquery確認刪除然後調用刪除方法
<%= link_to 'Delete Meeting', "/meetings/#{@meeting.id}", {:class => "delete_meeting"}, :method => :delete %>
上面的鏈接是在我的會議顯示頁面。我正在尋找的行爲是,當用戶點擊刪除鏈接時,我希望它刪除會議,然後重定向到其他會議列出的會議/索引頁面。我還想在索引頁面上顯示「您的會議已被刪除通知」。
當用戶點擊上面的鏈接上,我要求確認後,我想簡單地調用在會議控制器的刪除方法。我不想使用AJAX,因爲刪除後我想要路由到meetings_path。對於這一切,我有以下的jquery ..
$(".delete_meeting").click(function(e){
e.preventDefault();
jConfirm('Are you sure you want to delete this meeting?', 'Confirm Delete', function(r) {
if(r){
// what does here? I want to call the link's href here
}
return false;
});
})
..如果確認返回true,則我想將請求發送到控制器的刪除操作。我怎樣才能做到這一點?我不認爲我應該使用window.location.href。我呢?
爲什麼你使用任何額外的javascript呢?將':method'參數設置爲':delete'應該足以讓不引人注意的javascript將您的常規瀏覽器請求轉換爲Rails將識別爲DELETE的請求,因此它將被路由到您的控制器的銷燬方法。 – regulatethis
我編輯我的問題更具體。不知道你指的是多少額外的JavaScript。 – absolutskyy
這可能會幫助你:https://github.com/rails/jquery-ujs/blob/master/src/rails.js#L103顯然,你可以覆蓋由ujs提供的自定義確認對話框。 – regulatethis