【问题标题】:Ruby on Rails requests pending on Google ChromeRuby on Rails 请求在 Google Chrome 上待处理
【发布时间】:2016-07-21 08:09:09
【问题描述】:

我不知道这是否是一个常见问题。但是我的 Ruby on Rails 应用程序中有一个奇怪的问题。

例如在 Chrome 中:

当我单击链接到或尝试更改页面时,它将加载,加载,再加载,页面不会简单地打开。要打开,我需要在另一个选项卡中单击打开并关闭当前选项卡,这样页面才能正确加载。我不知道到底发生了什么,它只是从一个时刻开始到另一个时刻。

在 Firefox 中:

上面的问题没有发生,但它不会显示最新的 html,除非我用 F5 刷新。然后它会正确显示除第一次以外的所有内容。

我正在使用 Linux 运行我的项目,它是 localhost。这两种情况都非常奇怪,我认为它们在某种程度上是相关的。我已经清除了两个浏览器的缓存。

更新:

按照建议搜索 turbo 链接。我已经安装了 gem,但我使用 turbo 链接的唯一地方是application.html.erb

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

例子:

当我点击登录属性时:

<li> <%= link_to "Sign up", new_member_registration_path, :class => 'navbar-link'  %> </li>

呼叫正在等待并且没有移动(在 Chrome 中),这是网络的图片:

我的控制台日志中没有任何打印内容,它只是卡住并且什么也不做。

【问题讨论】:

  • @Vucko 我认为我没有安装任何与 turbolinks 相关的东西。其他两个选项我都做了。
  • log/development.log 中是否说明了什么?我的怀疑是服务器端正在发生某些事情,而 turbolinks 出于某种原因没有发现这一点。除非您明确将其关闭,否则您正在使用 turbolink。
  • 尝试在没有启用扩展的浏览器上加载它(尤其是广告拦截)。尝试删除 JS。
  • @Ven 在 Firefox 中有效 +-... 在 Firefox 中,问题是某些页面永远不会更新到最新版本,除非我使用 F5
  • @ChrisPeters Started GET "/assets/turbolinks.self-c5acd7a204f5f25ce7a1d8a0e4d92e28d34c9e2df2c7371cd7af88e147e4ad82.js?body=1" for 127.0.0.1 at 2016-07-23 18 没有更多的事情发生

标签: javascript ruby-on-rails ruby


【解决方案1】:

从应用程序中删除 turbolink 功能将解决您的问题。 步骤如下:

  1. 从您的 Gemfile 中删除 gem 'turbolinks' 行。
  2. 从您的 应用程序/资产/javascripts/application.js。
  3. 删除两个“data-turbolinks-track”=>真正的哈希键/值对 来自您的 app/views/layouts/application.html.erb。 干杯

【讨论】:

  • 请注意,Turbolinks feature 的目的是让链接页面加载更快。因此,当然,如果您禁用 Turbolinks,页面对用户的加载速度会稍慢(在您的应用正在运行的浏览器中)。
【解决方案2】:

我认为问题可能与 Turbolinks 有关。

要检查是否是这种情况,请尝试禁用它并检查问题是否仍然存在。

要禁用 Turbolinks,您可以按照以下简单步骤 (http://blog.steveklabnik.com/posts/2013-06-25-removing-turbolinks-from-rails-4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2016-12-28
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多