Rails turbolinks长请求不显示页面加载

在Rails中使用turbolink,如果请求花费很长时间,无论是否预期,浏览器都没有通常的提示来表明发生了任何事情。

我已经使用加载对话框创建了一个解决此问题的要点,如果请求超过500毫秒(可配置),则会自动弹出。

https://gist.github.com/cpuguy83/5016442

@PageSpinner = spin: (ms=500)-> @spinner = setTimeout( (=> @add_spinner()), ms) $(document).on 'page:change', => @remove_spinner() spinner_html: '  ' spinner: null add_spinner: -> $('body').append(@spinner_html) $('body div#page-spinner').modal() remove_spinner: -> clearTimeout(@spinner) $('div#page-spinner').modal('hide') $('div#page-spinner').on 'hidden', -> $(this).remove() $(document).on 'page:fetch', -> PageSpinner.spin()