rails active admin部署:找不到文件'jquery-ui'

当试图与capistrano部署,当capistrano使用命令捆绑exec耙

RAILS_ENV=production RAILS_GROUPS=assets assets:precompile 

我有这个错误

 couldn't find file 'jquery-ui' (in /home/umbrosus/.rvm/gems/ruby-1.9.3-p392@gancxadebebi/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/base.js:2) 

在它运行良好之前,但我试图更新到0.6,然后我开始有这个错误。 我回到0.5.1,错误仍然存​​在。 我做坏事吗?

谢谢

“jquery-rails”gem最近删除了jQuery UI。

https://github.com/rails/jquery-rails/commit/2fdcdb2633cbc6426d412c050200fc31d14b9a3b

他们推荐使用jquery-ui-railsgem。

有一个积极的拉动请求 (截至撰写本文)添加该gem作为依赖。 然而,ActiveAdmin的开发人员已经表示,他们“ 直到我们正式放弃对Rails 3.0的支持,才locking它 ”。 他们locking的版本是jquery-rails < 3.0.0

在此期间,只需修改您的Gemfile:

gem“jquery-ui-rails” 不推荐,请参阅下面@ Kevin的评论

或者你可以降级你的jquery-rails版本:

 gem "jquery-rails", "< 3.0.0" 

或者你可以从他们的Github主分支拉。 他们已经申请了临时修复。

 gem "activeadmin", github: "gregbell/active_admin" 

那么,没有必要将jquery-rails降级到2.3.0或指定一个GitHub分支。 只需使用jquery-ui-rails 。 要解决文件名差异:

只需创buildapp/assets/javascripts/jquery-ui.js

 //= require jquery.ui.all 

创buildapp/assets/stylesheets/jquery-ui.css

 /* *= require jquery.ui.all */ 

这些加载正确的文件来满足ActiveAdmin

尽pipe现在Pull请求已经合并到AA中,但如果使用AA的最新版本,则仍然会出现此问题。 我不喜欢强制JQuery-rails到2.3.0版本,所以这里是一个替代解决scheme:在active_admin.js文件中replace

 //= require active_admin/base 

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

荣誉给弗雷德 在这里提供的解决scheme。

降级“jquery-rails”为“2.3.0”也为我解决了这个问题。

在我的情况下,jQuery的问题是由于我使用的gem。 我没有直接使用jquery,因此将app / assets / js / jquery-ui.js添加到我的项目中并没有帮助。

添加gem“jquery-rails”,“<3.0.0”给我的gemfile修复了,但是之后我马上就遇到了turbolinks的问题,这很容易修复…

我最后的gemfile:

 # Temporary fix for jquery issue gem "jquery-rails", "< 3.0.0" gem 'turbolinks' 

… 十分简单

我知道这已经解决了。 但是我想给出一个更适合我的解决scheme。

有这个问题时我正在运行Rails 4.0.8。

我只是删除jquery-rails gem jquery-ui-rails gem的显式版本号。

我看起来基本上是这样的:

 # js gem 'jquery-ui-rails' gem 'jquery-rails' # rails admin gem 'rails_admin' 

Gemfile.lock有点想出了所有三个gem自动正确的版本。