我正在使用Rails 4并为我的所有remote: true
链接提供有效的AJAX覆盖。
application.js
$('#loading-ajax').hide();
$('#overlay-ajax').hide();
$(document).ajaxStart(function() {
$('#loading-ajax').show();
$('#overlay-ajax').show();
});
$(document).ajaxStop(function() {
$('#loading-ajax').hide();
$('#overlay-ajax').hide();
});
问题是,对于一个特定的link_to
,我不会链接显示此叠加层。在过去,我使用了global: false
AJAX选项,但我不确定在哪里为remote: true
链接设置AJAX选项。
我在哪里可以为此链接设置AJAX选项?或者我如何禁用它的常规ajaxStart
功能?
答案 0 :(得分:1)
如果你想用jQuery和ajax以及rails做一些稍微高级的东西,我建议改变你的策略来进行显式的jQuery ajax调用,而不是使用Rails助手:remote: true
。在您的视图中尝试这样的事情:
<%= link_to 'Click Me', action_path, :class => 'my-great-link' %>
<script>
$('.my-great-link').click( function( event ) {
event.preventDefault;
$.ajax({
url: $(this).prop('href'), // this will grab 'action_path' or whatever your link_to points to
global: false // prevent ajaxStart from being triggered
});
});
</script>