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自动正确的版本。