ruby-on-rails – 在生产环境中使用html5-rails gem时的AssetNot
我已经开始在rails 3.1上开发
html5-rails和
compass-html5但是当我在生产模式下运行我的应用程序并尝试访问我的主页时,我得到以下内容:
Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#index polyfills.js isn't precompiled 问题是localhost:8080:/assets/polyfills.js确实显示.我怀疑我的方法有问题: 重现步骤: 1使用家庭控制器创建新的rails应用程序,索引操作并设置根路由并删除public / index.html和views / layouts / application.html.erb 2在Gemfile中添加以下内容 gem 'rails','~> 3.1.0' gem 'unicorn' group :assets do gem 'compass',"~> 0.12.alpha.0" gem 'sass-rails',"~> 3.1.0" gem 'coffee-rails',"~> 3.1.0" gem 'uglifier' gem 'compass-html5',:git => 'https://github.com/sporkd/compass-html5.git' gem 'html5-rails',:git => "https://github.com/sporkd/html5-rails.git" end 3运行rails g html5:install以创建/config/compass.rb文件 4创建包含以下代码的/config/initializers/sass.rb: Rails.configuration.sass.tap do |config| config.load_paths << "#{Gem.loaded_specs['compass'].full_gem_path}/frameworks/compass/stylesheets" end 5运行RAILS_ENV =生产包exec rake资产:预编译 6运行unicorn -E production(如果你在webrick上,则运行rails s -e production)并访问root url 7观察错误 正确缩小的response-md5.min.js和modernizr-md5.min.js存在于/ public / assets中.当我访问localhost:8080 / assets / modernizr.min.js时,编译的js代码会出现.当我尝试访问我的主页时,抛出了服务器错误. 我怀疑我的方法有错误.我在github上问了同样的问题here. 解决方法
我设法通过将polyfills.js添加到application.rb来解决这个问题
config.assets.precompile += %w( polyfills.js ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |