ruby-on-rails - 如何在资产后修复 404 未找到来自 gem 的资产:预编译
问题描述
当我运行rake assets:precompile RAILS_ENV=production
时,不包括从 gems 使用的资产,我的网站显示了很多 404 未找到这些资产。
pnotify.core-4a29894be02cb147dd67c1f609148e95.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pnotify.buttons-19d9aeb87c03cfef956313439afad682.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pnotify.history-d339b3266d96cddfa55c4f0478f9d0ea.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
Rails.application.config.assets.paths
生产显示:
=> ["/vagrant/local/app/assets/fonts",
"/vagrant/local/app/assets/images",
"/vagrant/local/app/assets/javascripts",
"/vagrant/local/app/assets/stylesheets",
"/vagrant/local/vendor/assets/javascripts",
"/vagrant/local/vendor/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/material_icons-2.2.1/app/assets/fonts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/material_icons-2.2.1/app/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/chosen-rails-1.5.2/vendor/assets/images",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/chosen-rails-1.5.2/vendor/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/chosen-rails-1.5.2/vendor/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/cocoon-1.2.6/app/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-minicolors-rails-2.1.4.0/vendor/assets/images",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-minicolors-rails-2.1.4.0/vendor/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-minicolors-rails-2.1.4.0/vendor/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/pnotify-rails-2.0.1.1/vendor/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/pnotify-rails-2.0.1.1/vendor/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/tinymce-rails-4.1.0/app/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/tinymce-rails-4.1.0/app/assets/source",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/tinymce-rails-4.1.0/vendor/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-ui-rails-4.1.2/app/assets/images",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-ui-rails-4.1.2/app/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-ui-rails-4.1.2/app/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/activeadmin-0.6.0/app/assets/images",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/activeadmin-0.6.0/app/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/activeadmin-0.6.0/app/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/formtastic-2.2.1/app/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/bourbon-4.0.2/app/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/jquery-rails-3.1.1/vendor/assets/javascripts",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/font-awesome-sass-5.3.1/assets/stylesheets",
"/home/vagrant/.rvm/gems/ruby-1.9.3-p385/gems/font-awesome-sass-5.3.1/assets/fonts"]
欢迎任何帮助!
解决方案
问题是config.assets.debug
选项,它true
在生产服务器上,并且 CDN 中没有文件。
就这么简单。
推荐阅读
- javascript - Google Apps Script: submit form + keep window content + make browser make an offer to save name/password
- machine-learning - 任意大动作/状态空间中的强化学习
- oracle - 使用 GET_FILE_NAME Oracle Forms 无法打开对话框
- javascript - Edittext 箭头 [Indesign 脚本]
- python - 在python中绑定两个csv
- powerbi - 按总和对类别进行排名 (Power BI)
- android - Android TTS 为离线语音返回“超出配额”
- sql - oracle 10g 使用更新和连接
- python - Python:两个简单的函数,为什么第一个比第二个快
- c++ - 克隆一个类的实例,然后克隆克隆,然后克隆克隆......?