Rails Jquery没有'不要在其他页面上工作

Rails Jquery doesn't work on other pages

本文关键字:其他 工作 没有 Jquery Rails      更新时间:2023-09-26

我相信jQuery在您刚刚安装的页面之外的其他页面上不起作用。例如,当我键入localhost:3000/时,在"/"目录中,所有jQuery都可以工作。但是当我点击Rails创建的链接作为时

<%= link_to "Example Link", news_path %>

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

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

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

CCD_ 3激发一个新的事件CCD_。您可以使用它来运行您的javascript代码:

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

在涡轮连杆上铸造了一个出色的导轨

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

这个gem将jQuery.ready函数与Turbolinks侦听事件页面:load绑定,因此,如果您使用带有Rails 4 的Turbolinks

p>您的Gemfile中需要gem 'jquery-rails'(如果使用bundler,则捆绑安装)

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

//= require jquery

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

<%= javascript_include_tag "application" %>

我相信,在Rails安装中,这些都是默认的,所以如果你删除了这些设置中的任何一个,你需要将它们添加回来才能正常工作。