Rails没有从link_to加载Chome中的js
我的rails应用程序在通过link_to帮助程序发送到页面后似乎没有加载一些javascript行为。 这种情况发生在Chrome中,但不是IE(这让我很伤心)。 我已经看到Chrome没有在bootstrap-switch的多个页面中加载行为,以及我在源代码树中的一些自定义函数。 这些将在我从Chrome重新加载页面后起作用,但不会从初始link_to开始。
这是我的application.js:
//= require jquery //= require jquery_ujs //= require turbolinks //= require_tree . //= require bootstrap //= require bootstrap-switch //= require jquery-placeholder //= require jquery_nested_form
Chrome从link_to帮助程序接收或呈现javascript的方式是否存在一些已知限制? 如果我能提供有助于解决此问题的任何其他信息,请与我们联系。
我可以从你的application.js
看到你正在使用turbolinks 。
当使用turbolinks时,单击内部链接时会忽略$(document).ready(function() { ..
因为页面实际上从未以传统方式重新加载。
你有几个选择,重写/重构你的JS,以便它与turbolinks很好地配合(通过没有特定于页面的JS包括,通过适当地确定你的事件等),或者如果你不想使用你可以禁用turbolinks它由:
- 从
Gemfile
删除它 - 从
application.js
删除//= require turbolinks
- 在
layouts/application.html.erb
删除对"data-turbolinks-track" => true
的2个引用。