2011-12-20 68 views
6

我是Rails 3.1的新手,最近開始一個項目。我的Gemfile包含jQuery的軌道像這樣:jquery-rails缺少rails.js

gem 'jquery-rails' 

事實上,我已經驗證了它在我當前RVM寶石本(1.0.19版)(使用gem list)。

我開始進入支持Ajax的形式,從谷歌搜索閱讀各種文章和帖子,看來我應該有一個叫rails.js文件在我javascripts文件夾(我想這是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.js文件也可以解決此問題。

任何幫助或建議將不勝感激......我一直在谷歌和SO搜索幾個小時,並沒有得到任何地方。謝謝!

回答

14

jquery-rails從寶石內部提供jquery和jquery_ujs。您不需要將這些文件複製到assets/javascripts。

請確保您有JavaScript中/ application.js中這兩條線:

//= require jquery 
//= require jquery_ujs 

而在你的佈局有javascript_include_tag 'application'

+1

你是一個救星。默認情況下,而不是'應用程序'有:默認值!並且因爲jQuery文件不會在瀏覽器中加載。 – Peymankh 2012-02-19 01:11:55