Javascript Jquery与Rails 4

Javascript Jquery与Rails 4,javascript,jquery,ruby-on-rails,ruby-on-rails-4,nested-forms,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,Nested Forms,我一直在构建rails 4应用程序,我需要一些简单的jquery函数。具体来说,我需要在一个嵌套的表单javascript调用之后运行一些javascript(这很好,但当然是提供的)。我浏览过互联网,发现任何东西都不起作用,哪怕是一点点(比如页面加载完成后的警告窗口)。有人能告诉我,在一个特定页面上的一个简单的警报窗口中到底该做什么吗?嵌套的表单github向我展示了如何完成其余的工作。多谢各位 我的代码: application.html.erb <!DOCTYPE html>

我一直在构建rails 4应用程序,我需要一些简单的jquery函数。具体来说,我需要在一个嵌套的表单javascript调用之后运行一些javascript(这很好,但当然是提供的)。我浏览过互联网,发现任何东西都不起作用,哪怕是一点点(比如页面加载完成后的警告窗口)。有人能告诉我,在一个特定页面上的一个简单的警报窗口中到底该做什么吗?嵌套的表单github向我展示了如何完成其余的工作。多谢各位

我的代码:

application.html.erb

<!DOCTYPE html>
<html>
<head>
  <title><%= fullTitle(yield(:title))%></title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>
...

随着Rails 4中turbolinks的引入,您必须同时绑定
$(document).ready
$(document).on('page:load')
。尝试将代码更改为

var ready = function() {
  alert( 'works!' );
  // or any other code to execute
};

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

随着Rails 4中turbolinks的引入,您必须同时绑定
$(document).ready
$(document).on('page:load')
。尝试将代码更改为

var ready = function() {
  alert( 'works!' );
  // or any other code to execute
};

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

我想添加一个额外的gem,以确保jQuery能够正常工作。修复了TurboLink造成混乱的绑定事件

然后,该文件应包括以下内容

# Gemfile
gem 'jquery-rails'
gem 'jquery-turbolinks'
gem 'turbolinks'

# application.js
//= require jquery
//= require turbolinks
//= require jquery.turbolinks

我想添加一个额外的gem,以确保jQuery能够正常工作。修复了TurboLink造成混乱的绑定事件

然后,该文件应包括以下内容

# Gemfile
gem 'jquery-rails'
gem 'jquery-turbolinks'
gem 'turbolinks'

# application.js
//= require jquery
//= require turbolinks
//= require jquery.turbolinks

这是可行的,但只有当我重新加载页面时。这是预期的功能吗?@Megawolf在重新加载页面(或通过url直接调用)或通过TurboLink加载页面(Rails 4中的默认设置)时,将执行
ready
功能。例如,假设您有以下路线:
/contacts
/contacts/1
。如果加载
http://localhost:3000/contacts
在浏览器中,由于
$(文档)。ready
的原因,ready功能将启动。在该视图中,如果您有一个指向“foo”的
链接,“/contacts/1”
,并单击它,Rails将通过turbolinks(默认情况下)加载页面,ready函数将启动,因为
$(document)。这是预期的功能吗?@Megawolf在重新加载页面(或通过url直接调用)或通过TurboLink加载页面(Rails 4中的默认设置)时,将执行
ready
功能。例如,假设您有以下路线:
/contacts
/contacts/1
。如果加载
http://localhost:3000/contacts
在浏览器中,由于
$(文档)。ready
的原因,ready功能将启动。在该视图中,如果您有一个指向“foo”的链接“/contacts/1”
,并单击它,Rails将通过turbolinks(默认情况下)加载页面,ready函数将因
$(文档)而启动。('page:load')