使用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/
,并且我正在使用默认资产管道)。
我的问题实际上涉及两个部分:
-
即使在
bundle install
,我也无法在我的项目中找到rails.js
文件,所以我从https://github.com/rails/jquery-ujs下载了它并将其放在我的assets/javascripts/
文件夹中。 这是正确的做法吗? -
在包含
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'
。