2013-06-03 34 views
6

我在本地安裝了一個新的rails應用程序,然後添加了活動的admin gem並運行rake db:migrate,然後按照說明運行安裝程序。我也在用粉。無法在Ruby on Rails上安裝Active Admin:「Sprockets :: FileNotFound ...」

當試圖在mysite.dev/admin訪問管理方面,我得到如下:

鏈輪:: FileNotFound在#新Active_admin /色器件/會話

找不到文件'jquery-ui' (in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2)

我究竟做錯了什麼?

+0

您已經跑過bundle install嗎? – jason328

回答

18

你應該在你的gem文件中設置:gem'jquery-rails',「2.3.0」來修復jquery-rails gem版本到2.3.0 最後更新(3.0.0)刪除jquery-ui文件並導致該問題:

couldn't find file 'jquery-ui' (in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2) 

這應該可以解決您的問題。你也可以從github上獲取最新版本的Active Admin來解決你的問題。

但我會建議你的Gemfile改變

gem jquery-rails 

到:

gem 'jquery-rails', "2.3.0" 

希望幫助!

+0

謝謝,今晚我會試試! 我說得很對,一旦我完成了一個'bundle install',它就會在我的本地機器上緩存一個活動管理員的版本,或者是我已經安裝的任何一個版本?如果是這樣,我將如何不時更新我的​​本地捆綁副本?有沒有一套方法/最佳實踐方法呢? – tjcss

+1

是的,每次運行軟件包安裝都會安裝新的寶石,但保留當前版本安裝在您的計算機上。如果你想更新你的寶石,你可以運行軟件包更新,並更新所有gem文件中未指定版本的寶石。 –

+0

如果你在我的鞋子裏,這不起作用:確保你沒有安裝gem'jrails',它會與'jquery-rails'衝突,沒有任何有用的錯誤告訴你。我正在升級到Rails 3. – yekta

8

我已更新至最新版本(0.6.0),並且遇到同樣的問題。
相反降級我的jQuery的軌道,或直接從GitHub安裝寶石,我改變//= require active_admin/base在我active_admin.js爲:

//= require jquery 
//= require jquery_ujs 
//= require jquery.ui.core 
//= require jquery.ui.widget 
//= require jquery.ui.datepicker 
//= require active_admin/application 
+1

這對我很有用,但我不得不在我的Gemfile中添加'jquery-ui-rails'。 – bonyiii

+0

這是解決問題的最佳解決方案。 – Dudo

+0

不幸的是,這並不適合我,我已經沒時間追蹤它。 – juicedM3

0

當你運行:

rails generate active_admin:assets 

它產生:

/app/assets/javascripts/active_admin.js 

該文件只包含一行,用於從Gem中獲取基本js文件:

//= require active_admin/base 

active_admin /基地(創業板)只有4條線路,其中之一是造成問題的原因:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 

//= require active_admin/application 

我選擇的解決方法是改變你的項目/應用程序的內容/ assets/javascripts/active_admin.js:

//= require jquery 
//= require jquery.ui.all 
//= require jquery_ujs 

//= require active_admin/application