使用jquery-rails缺少rails.js

我是Rails 3.1的新手,最近开始了一个项目。 我的Gemfile包含jquery-rails,如下所示:

gem 'jquery-rails' 

事实上,我已经在我当前的RVM gemset(使用gem list )中validation了它的存在(版本1.0.19)。

我开始使用支持Ajax的表单,从Googling阅读各种文章和post,看来我应该在我的javascripts文件夹中有一个名为rails.js文件(我假设这是assets/javascripts/ ,并且我正在使用默认资产管道)。

我的问题实际上涉及两个部分:

  1. 即使在bundle install ,我也无法在我的项目中找到rails.js文件,所以我从https://github.com/rails/jquery-ujs下载了它并将其放在我的assets/javascripts/文件夹中。 这是正确的做法吗?

  2. 在包含rails.js ,我的Ajax表单现在提交了三次。 经过进一步调查,似乎我的所有javascript(或jquery ???)被调用了三次。 当我点击一个对象的“破坏”链接(当你使用rails g scaffold something来支撑rails g scaffold something时产生的那种)时,确认弹出窗口也会出现三次。 删除rails.js文件也会删除此问题。

任何帮助或建议将不胜感激…我一直在谷歌和SO搜索几个小时,并没有得到任何地方。 谢谢!

jquery-rails从gem内部提供jquery和jquery_ujs。 您无需将这些文件复制到assets / javascripts。

确保在javascripts / application.js中有这两行:

 //= require jquery //= require jquery_ujs 

并在您的布局中添加javascript_include_tag 'application'