【发布时间】:2013-01-26 12:40:52
【问题描述】:
在 rails 2 的 ajax 表单中,我们可以有 ajax 回调,例如 before、after 等。如何在 rails 3 中做到这一点。
【问题讨论】:
标签: ruby-on-rails-3
在 rails 2 的 ajax 表单中,我们可以有 ajax 回调,例如 before、after 等。如何在 rails 3 中做到这一点。
【问题讨论】:
标签: ruby-on-rails-3
我遇到了同样的问题,this post 帮助我解决了这个问题。基本上,您需要将侦听器附加到对 rails 的回调事件作出反应的元素。例如:
<%= link_to 'Delete', post,
:confirm => 'Are you sure?',
:method => :delete,
:remote=>true,
:id=>'delete' %>
在单独的 js 文件中(使其不显眼),使用 jQuery:
$('#delete').bind('ajax:success', function() {
// do something
});
【讨论】:
按照 morbaq 的建议将函数绑定到 ajax:success 对我有用。
但是,我认为如果有多个 ajax 行为与元素相关联,则该函数将为它们中的每一个运行。
【讨论】:
如果您还想为 ajax 发送添加监听器,请使用以下代码
$(document).ready(function() {
$('#topnav-buildings').bind('ajax:beforeSend', function() {
blockDiv('#topnav-buildings');
});
});
我花了一个小时才找到这些 t2 东西
【讨论】: