如何在Rails中延迟ajax中的响应

时间:2015-08-11 15:38:46

标签: ruby-on-rails ajax

我试图在rails ajax中延迟ajax成功1秒。任何人都可以建议我如何在一般的jquery ajax这样做这是可能的但是当涉及到使用rails ajax我无法找到编辑ajax响应时间。我在下面的rails ajax中有以下代码。

 $(".feed-like-<%= @feed.id %>").html("<%= j render :partial => 'shared/dislike' %>");
    $(".count-<%= @feed.id %>").html('<%= @feed_like_counter.like_count %> ');

如何添加此类查询:

  // set your delay here, 2 seconds as an example...
                var my_delay = 2000;

                // call your ajax function when the document is ready...
                $(function() {
                    callAjax();
                });

                // function that processes your ajax calls...
                function callAjax() {
                    $.ajax({
                        // ajax parameters here...
                        // ...
                        success: function() {
                            setTimeout(callAjax, my_delay);
                        }
                    });
                }

1 个答案:

答案 0 :(得分:1)

对于这个特殊问题,你可以使用rails方法disable_with,你可以在你的代码中使用:

 <%= link_to "like",{ :action => 'create', :controller => 'feed_likes', :feed_id => @feed, :user_id => current_user.id, :remote => true },data: { disable_with: "Processsing..." }, method: :post,class: "btn btn-primary"   %>