自定义对话框模式:删除
问题描述:
我有一个自定义对话框,如下所示:自定义对话框模式:删除
$(function() {
$.rails.allowAction = function(link) {
if (!link.attr('data-confirm')) {
return true;
}
$.rails.showConfirmDialog(link);
return false;
};
$.rails.confirmed = function(link) {
link.removeAttr('data-confirm');
return link.trigger('click.rails');
};
return $.rails.showConfirmDialog = function(link) {
var html, message;
message = link.attr('data-confirm');
html = "<div class=\"modal\" id=\"confirmationDialog\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <a class=\"close\" data-dismiss=\"modal\">×</a>\n <h4>" + message + "</h4>\n </div>\n <div class=\"modal-footer\">\n <a data-dismiss=\"modal\" class=\"btn btn-info\">" + "Cancel" + "</a>\n <a data-dismiss=\"modal\" class=\"btn btn-primary confirm\">" + "Confirm" + "</a>\n </div>\n </div>\n </div>\n</div>";
$(html).modal();
return $('#confirmationDialog .confirm').on('click', function() {
return $.rails.confirmed(link);
});
};
});
自定义对话框工作时,我使用方法:删除,但我也有一个删除按钮没有按不使用方法:
<%= link_to delete_file_path(current_user), data: { confirm: "Are you sure?" }, class: "btn btn-default btn-sm " do %>
<span class="glyphicon glyphicon-trash"></span>
<% end %>
使用该链接按钮时,它会显示自定义对话框,但是当我单击确认时没有任何反应。
答
控制器操作由客户端发送的URL和HTTP方法进行路由。由于您尝试点击destroy
操作,因此您需要发送delete
操作以及您的请求,否则link_to
会发送一个GET
,这可能会导致404或与您预期的操作不同。这就是为什么当method: :delete
被阻止时,链接的行为不同。
但这个删除链接运行良好,没有自定义对话框,如果我把方法删除它说'没有路由匹配[删除]“/delete_file.1” – terrorista
然后你的帮助器方法不符合你的路由定义。你可以在这里发布你的'routes.rb'吗? –
'get'delete_file'=>“analyze#delete_file”'。这是没有办法的::删除 – terrorista