Rails Jquery不适用于其他页面

我相信jQuery不能在你刚刚安装的页面上工作。 例如,当我键入localhost:3000 /时,在’/’目录中所有jQuery都可以工作。 但是当我点击Rails创建的链接时

 

页面正确加载,但jQuery不起作用。 我的jQuery代码如下所述:

 $(function() { console.log( "pageloaded" ); .... $('.up').click(function(){ ..... }); }); 

在Rails 4中,默认情况下, turbolinks处于活动状态。
这意味着,当您加载新页面时, $(document).ready()不会被执行。

turbolink触发一个新的事件page:load 。 您可以使用它来运行您的JavaScript代码:

 $(document).on('page:load', your_start_function); 

在turbolinks上有一个优秀的轨道

https://github.com/kossnocorp/jquery.turbolinks

这个gem将jQuery.ready函数绑定到Turbolinks监听事件页面:load,因此如果你使用Turbolinks和Rails 4,解决方案应该会被解决

您需要在Gemfile中使用gem’jquery gem 'jquery-rails' (如果使用的是Bundler,则需要捆绑安装)

完成后,您需要在application.js文件中要求它:

 //= require jquery 

最后,您需要确保将application.js文件作为应用程序模板的一部分加载。 在application.html.erb您应该具有以下内容:

 <%= javascript_include_tag "application" %> 

我相信在Rails安装中默认情况下就是这样,所以如果您已经删除了这些设置中的任何一个,则需要将它们添加回来以使其正常工作。