加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在生产环境中使用html5-rails gem时的AssetNot

发布时间:2020-12-17 03:20:44 所属栏目:百科 来源:网络整理
导读:我已经开始在rails 3.1上开发 html5-rails和 compass-html5但是当我在生产模式下运行我的应用程序并尝试访问我的主页时,我得到以下内容: Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#indexpolyfills.js isn't precompi
我已经开始在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 )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读