如何修改:确认或添加新方法link_to UrlHelper?

时间:2010-01-19 16:34:35

标签: ruby-on-rails ruby

我使用此代码删除记录:

<%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method => :delete %>

当我点击“销毁”时,它会有一个警告框提示,并要求我销毁或不销毁。我可以修改:确认到AJAX通话吗?或者我可以在link_to标签中添加:myConfirm来实现我自己的:myConfirm?谢谢。

1 个答案:

答案 0 :(得分:4)

确实可以。创建您自己的帮助方法(建议)或扩展默认的link_to帮助程序(不建议)以包含您的自定义行为。

如果您想知道是否可以通过附加选项来实现结果,答案是否定的。 您实际上需要编写AJAX调用或功能的代码,然后创建帮助程序逻辑来处理新行为。

最重要的是,避免攻​​击帮助程序本身,并根据特定的标记类创建一个不显眼的JavaScript回调。 你可以在jQuery中轻松地使用它

$("ajax-confirm").click(function(){
  // here send the AJAX request
  // and display the confirm dialog
  var confirm = true;  
  return confirm;
});

<%= link_to "...", "...", :class => "ajax-confirm" %>