Chrome Popup Blocker打破了Link_to Destroy

时间:2012-01-27 08:05:18

标签: ruby-on-rails

我今天注意到,当启用此弹出窗口阻止程序时,删除在Chrome中不起作用。 https://chrome.google.com/webstore/detail/nmpeeekfhbmikbdhlpjbfmnpgcbeggic

当我点击Destroy时会阻止“你确定吗?”确认弹出窗口并向我要删除的对象发送Get请求。

<td><%= link_to 'Delete', group, confirm: 'Are you sure?', method: :delete %></td>

如果用户没有意识到发生了什么,这种失败是沉默和烦人的。

是否有解决弹出窗口阻止程序或至少警告用户他们的弹出窗口阻止程序阻止他们删除对象?

由于

1 个答案:

答案 0 :(得分:2)

这不是由于Rails:您提到的扩展名改变了 Chrome默认行为。如果您希望您的应用程序成为特定扩展证明,您应该使用jQuery UJS实现自己的确认机制。

问题是在当前的UJS主机上,confirm方法以同步方式返回(因此除非与内置确认弹出一起使用,否则它不会等待与用户的交互向上)。该问题有一个拉取请求here。可以找到Rails UJS代码here

另一个选择是删除confirm选项并使用jQuery从头开始实现您的确认过程。