我只是在云服务器上部署我的应用程序然后输入错误:
ActionView::Template::Error (Couldn't find file 'jquery-ui' (in /home/me/.rvm/gems/ruby-1.9.3-p429/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2)):
我之前在共享主机上部署了相同的应用程序,但我之前没有收到此错误.所以我想我在部署中会遗漏一些东西.
顺便说一下base.js:
//= require jquery //= require jquery-ui //= require jquery_ujs //= require active_admin/application
在我的app / assets / javascripts / application.js.erb中:
//= require Player/soundmanager2-nodebug-jsmin.js //= require jquery //= require jquery.ui.all //= require jquery_ujs //= require best_in_place //= require best_in_place.purr //= require jquery-fileupload //= require contextMenu/jquery.contextMenu.js //= require contextMenu/jquery.ui.position.js //= require_tree . //= require_tree ./Player
编辑:在我的Gemfile中:
# Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails','~> 3.2.3' gem 'coffee-rails','~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer',:platforms => :ruby gem 'uglifier','>= 1.0.3' end gem 'jquery-rails' gem 'jquery-fileupload-rails' gem 'jquery-ui-rails'
解决方法
遇到类似的东西,发现从组中删除gem jquery-ui:assets块为我修复了这个问题.此外,您将在gemfile中注意到它说:
# Gems used only for assets and not required # in production environments by default.
因此,请确保这不是:资产组的一部分
更新
我相信您对application.js的订购应如下所示:
//= require jquery //= require jquery_ujs //= require_tree . // //= require jquery-ui //= require jquery.ui.all //= require active_admin/application //= require Player/soundmanager2-nodebug-jsmin.js //= require best_in_place //= require best_in_place.purr //= require jquery-fileupload //= require contextMenu/jquery.contextMenu.js //= require contextMenu/jquery.ui.position.js
此外,只是为了确保您的应用程序中的设置正确.rb您应该:
application.rb中
if defined?(Bundler) # If you precompile assets before deploying to production,use this line Bundler.require(*Rails.groups(:assets => %w(development test))) # If you want your assets lazily compiled in production,use this line # Bundler.require(:default,:assets,Rails.env) end
production.rb
# disable Rails's static asset server (Apache or Nginx will already do this) config.serve_static_assets = false # Compress JavaScripts and CSS config.assets.compress = true # Don't fallback to assets pipeline if a precompiled asset is missed config.assets.compile = true
如果要执行以下命令:bundle exec rake assets:precompile:all RAILS_ENV = production