Rails正在进行两次相同的get请求(更新:仅当我在页面上嵌入pinterest链接时)

Ana*_*and 7 ruby-on-rails http pinterest

我有一个rails 4.2.x应用程序,其中我注意到对于我做的每个请求,日志显示整个请求被发送两次 - 一个请求完全完成,页面似乎完全呈现,但是然后另一个请求再次启动日志并在其过程中运行,第二个请求在客户端浏览器中没有可见效果.

Started GET "/path/to/request" for 10.0.1.5 at 2016-04-12 21:23:08 +0530
<... bunch of SQL and other logs to fulfill this request...>
Completed 200 OK in 11487ms (Views: 11279.3ms | ActiveRecord: 40.3ms)

Started GET "/path/to/request" for 10.0.1.5 at 2016-04-12 21:23:21 +0530
<... same bunch of SQL and other logs ...>
Completed 200 OK in 8928ms (Views: 8899.3ms | ActiveRecord: 18.2ms)
Run Code Online (Sandbox Code Playgroud)

开发和生产都会发生这种情况.它独立于浏览器而发生

基于对其他SO线程和一般预感的建议,我尝试过:

  1. 删除指向所有链接'#',并使用
    'javascript:void(0)'替代
  2. 调用 bundle exec rake assets:clobber
  3. 在development.rb中,设置 config.assets.prefix = '/dev-assets'
  4. async: true从中移除javascript_include_tag
  5. 尝试从Chrome隐身窗口调用
  6. 重新启动浏览器
  7. 清除tmp文件夹 bundle exec rake tmp:clear
  8. 重启(dev)机器
  9. 我的Gemfile或Gemfile.lock中没有turbolinks

这些似乎都不起作用.我现在都没有选择 - 任何建议?

更新:结果是罪魁祸首是页面上嵌入的pinterest链接,当我删除它时,问题消失了 - 这是导致它的来源 - 我如何修复它嵌入pinterest链接仍然没有多次调用发生?

我在页面中放置了一个用于嵌入式引脚的URL和脚本:

<a data-pin-do='embedPin' href='https://in.pinterest.com/pin/384143043191907516/'></a>

<script src="//assets.pinterest.com/js/pinit.js"></script>
Run Code Online (Sandbox Code Playgroud)

注:我也有异步脚本推迟,如下图所示(这正是Pinterest的网站建议使用嵌入Pinterest的链接),但保留或删除他们提出两个要求问题上没有区别:

<script async defer src="//assets.pinterest.com/js/pinit.js"></script>
Run Code Online (Sandbox Code Playgroud)

运行脚本生成的页面源:

<span class="PIN_1460479728283_embed_pin PIN_1460479728283_en" data-pin-log="embed_pin" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-id="384143043191907516"><span class="PIN_1460479728283_bd" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin">
<span class="PIN_1460479728283_hd" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin">     
<span class="PIN_1460479728283_container" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin" style="padding-bottom: 154.43%;"><span class="PIN_1460479728283_img" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin_img" data-pin-src="http://media-cache-ak0.pinimg.com/237x/f0/75/0b/f0750bea877d546aa4a95f52a9007cc8.jpg" style="background-image: url(&quot;http://media-cache-ak0.pinimg.com/237x/f0/75/0b/f0750bea877d546aa4a95f52a9007cc8.jpg&quot;);">
</span></span>
<span class="PIN_1460479728283_repin" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin_repin" data-pin-id="384143043191907516"></span></span><span class="PIN_1460479728283_source" data-pin-href="http://guineapiggies.tumblr.com/post/62520038756/perlita-by-gabitayuz" data-pin-log="embed_pin_domain"><span class="PIN_1460479728283_img" data-pin-href="http://guineapiggies.tumblr.com/post/62520038756/perlita-by-gabitayuz" data-pin-log="embed_pin_domain" data-pin-src="http://media-cache-ec0.pinimg.com/favicons/09b6198f50d7e654ebb5f88e2016b83b0bb345386f0c4b685df4bacd.png?66c0426c45356a3c0afbd2cf5c32c99e" style="background-image: url(&quot;http://media-cache-ec0.pinimg.com/favicons/09b6198f50d7e654ebb5f88e2016b83b0bb345386f0c4b685df4bacd.png?66c0426c45356a3c0afbd2cf5c32c99e&quot;);"></span><span class="PIN_1460479728283_domain" data-pin-href="http://guineapiggies.tumblr.com/post/62520038756/perlita-by-gabitayuz" data-pin-log="embed_pin_domain">Guinea Piggies
</span>
<span class="PIN_1460479728283_menu" data-pin-href="http://guineapiggies.tumblr.com/post/62520038756/perlita-by-gabitayuz" data-pin-log="embed_pin_domain"><span class="PIN_1460479728283_toggle" data-pin-href="" data-pin-log="embed_pin_toggle"></span><span class="PIN_1460479728283_dropdown" data-pin-href="https://www.pinterest.com/about/copyright/dmca-pin/?id=384143043191907516" data-pin-log="embed_pin_report">Copyright issue
</span>
</span>
</span><span class="PIN_1460479728283_description" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin">guinea pig</span><span class="PIN_1460479728283_stats" data-pin-href="https://www.pinterest.com/pin/384143043191907516/" data-pin-log="embed_pin"><span class="PIN_1460479728283_repins" data-pin-href="https://www.pinterest.com/pin/384143043191907516/repins/" data-pin-log="embed_pin">1</span></span></span><span class="PIN_1460479728283_ft" data-pin-href="https://www.pinterest.com/beblydia/" data-pin-log="embed_pin_pinner"><span class="PIN_1460479728283_img" data-pin-href="https://www.pinterest.com/beblydia/" data-pin-log="embed_pin_pinner" data-pin-src="http://media-cache-ak0.pinimg.com/avatars/beblydia_1447515585_60.jpg" style="background-image: url(&quot;http://media-cache-ak0.pinimg.com/avatars/beblydia_1447515585_60.jpg&quot;);"></span><span class="PIN_1460479728283_pinner" data-pin-href="https://www.pinterest.com/beblydia/" data-pin-log="embed_pin_pinner">Lydia Batista</span><span class="PIN_1460479728283_board" data-pin-href="https://www.pinterest.com/beblydia/guinea-pigs/" data-pin-log="embed_pin_board">Guinea pigs
</span></span></span>
Run Code Online (Sandbox Code Playgroud)

Djw*_*ian 1

我之前也遇到过类似的问题..它只发生在 Chrome 中,我通过添加将其缩小到 Turbolinks 存在问题

data-no-turbolink
Run Code Online (Sandbox Code Playgroud)

到我的模板的正文标签。这解决了这个问题,并专门更新了turbolinks

bundle update turbolinks
Run Code Online (Sandbox Code Playgroud)

似乎一切都解决了。我希望这有帮助!