2011-06-10 50 views
2

你好吗?我在rails 2.3中遇到以下问题。点击一个link_to的方法删除在rails中创建一个自定义的jQuery确认对话框

在视图中我渲染锚与方法的link_to助手:删除,即:

link_to "DELETE!", resource_path(@resource), :method => :delete 

这精美的作品!但是,在进行销毁操作之前,我想跨越一个确认对话框。我可以用内置的确认选项来做到这一点:

link_to "DELETE!", resource_path(@resource), {:method => :delete, :confirm=> "Are you sure?" 

但我不喜欢这种对话框样式。

我想要一个由jquery对话框生成的自定义对话框。因此,我在该链接上绑定了一个点击事件,它跨越我想要的确认对话框。

最大的问题是,当用户单击链接时,会出现确认对话框,但无论按下“确定”按钮还是“取消”按钮,都会执行删除请求。检查呈现的链接我记得rails会在该链接上添加一个onclick事件,并通过_method:delete等生成相应的隐藏表单等。

一种解决方案是在javascript函数中创建AJAX删除请求用户单击确定按钮。但是这种方法会引入一些问题,我不喜欢这样做。

那么你在这种情况下有什么建议?有没有办法建立事件顺序?我的意思是,首先捕获跨越确认对话的事件并取决于解除绑定或取消未来事件?

感谢

回答

2

你必须回报确认的值(true/false)来链接的点击事件。如果点击返回false,那么浏览器将不会跟随链接。

this answer on SO摘自:

:onclick => "return confirm(message)"

这不是jQuery的对话,但它会得到你正确的功能。

相关问题