Geo*_*eti 5 jquery-ui ruby-on-rails
我只是在云服务器上部署我的应用程序然后输入错误:
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)):
Run Code Online (Sandbox Code Playgroud)
我之前在共享主机上部署了相同的应用程序,但我之前没有收到此错误.所以我想我在部署中会遗漏一些东西.顺便说一下base.js:
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require active_admin/application
Run Code Online (Sandbox Code Playgroud)
在我的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
Run Code Online (Sandbox Code Playgroud)
编辑:在我的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'
Run Code Online (Sandbox Code Playgroud)
我一直在努力解决同样的问题......
我相信你正在遇到最近在ActiveAdmin和jquery-rails gem 之间创建的头部; 您的配置本身没有任何问题.
jquery-rails曾经包含JavaScript for JQuery UI的副本(但不包括CSS;不确定原因).这就是线下的内容
//= require jquery-ui
Run Code Online (Sandbox Code Playgroud)
在ActiveAdmin的base.js文件中.最近,jquery-rails放弃了它包含的JQuery UI JavaScript,所以上面的行现在什么也没说,导致资产构建错误.安装jquery-ui-rails没有帮助,因为gem重命名文件以便正确的require行
//= require jquery.ui.all
Run Code Online (Sandbox Code Playgroud)
可能是为了避免与以前版本的jquery-rails发生冲突.
不幸的是,至少根据这个问题报告,ActiveAdmin不能简单地在jquery-ui-rails而不是jquery-rails上自行修改自己,并保持与Rails 3.0的向后兼容性.所以解决方案可能会在未来几天内完成.
在此期间,只需请求一个旧版本的jquery-rails,它仍包含Gemfile中的JavaScript for JQuery UI:
gem 'jquery-rails', '<3.0.0'
Run Code Online (Sandbox Code Playgroud)
遇到类似的事情,发现gem jquery-ui从group :assets块中删除可以解决这个问题。此外,您会注意到 gemfile 中包含以下内容:
# Gems used only for assets and not required
# in production environments by default.
Run Code Online (Sandbox Code Playgroud)
所以请确保这不是该:assets组的一部分
更新
我相信您的订购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
Run Code Online (Sandbox Code Playgroud)
此外,为了确保您的设置正确,application.rb您应该:
应用程序.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
Run Code Online (Sandbox Code Playgroud)
生产.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
Run Code Online (Sandbox Code Playgroud)
当你想执行以下命令时:bundle exec rake assets:precompile:all RAILS_ENV=production
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |