我的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的方式是否存在一些已知限制?如果我能提供有助于解决此问题的任何其他信息,请与我们联系。
答案 0 :(得分:2)
我可以从您application.js
看到您正在使用turbolinks。
使用turbolinks时,点击内部链接会忽略$(document).ready(function() { ..
,因为页面实际上从未以传统方式重新加载。
你有几个选择,重写/重组你的JS,以便它与turbolinks很好地配合(通过没有特定于页面的JS包括,通过适当地确定你的事件等),或者如果你不这样做你可以禁用turbolinks想通过以下方式使用它:
Gemfile
//= require turbolinks
application.js
"data-turbolinks-track" => true
中对layouts/application.html.erb
的2个引用。