Rails 5生产资产管道CSS未呈现
Posted
技术标签:
【中文标题】Rails 5生产资产管道CSS未呈现【英文标题】:Rails 5 Production asset pipeline CSS not rendering 【发布时间】:2017-01-24 05:07:49 【问题描述】:我有一个在 ec2 实例上运行的 rails 5 webapp。我有 nginx 成功代理它。 Nginx 正在提供我的样式表,但它们只是拒绝在页面上呈现。
我正在使用三个应该可以帮助我的 gem(它们在开发模式下完美运行):
// app/assets/stylesheets/application.css.scss
@import "jquery-ui";
@import "dataTables/jquery.dataTables";
@import "bootstrap-sprockets";
@import "bootstrap";
Rails 资产管道编译我的 CSS,capistrano 将其部署到 public/assets/css 文件夹,我可以从日志文件中看到 nginx 正在为其提供服务:
173.0.0.0 - - [24/Jan/2017:04:46:02 +0000] "GET /assets/application-4b2406f6ce6b47c29d7764376731b4a5862e841c272f0f6407f9e03fc6840986.css HTTP/1.1" 304 0 "http://54.0.0.0/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
这是我的 config/environments/production.rb 的 sn-p:
config.action_controller.perform_caching = true
config.action_mailer.perform_caching = false
config.active_record.dump_schema_after_migration = false
config.assets.compile = true
config.assets.js_compressor = :uglifier
config.assets.quiet = false
config.cache_classes = true
config.consider_all_requests_local = false
config.public_file_server.enabled = false
但页面以 NO css 呈现,并且在 Chrome 中看起来非常简单。太令人沮丧了!
这里是关键:它在 Firefox 中看起来不错。
问题: 如何调试这个?使用什么工具?
【问题讨论】:
会不会是缓存相关的?您可以使用开发者工具或扩展程序禁用 Chrome 中的缓存。 【参考方案1】:呸。麦克斯完全正确。另一台计算机上的 Chrome 也可以。我将清除昨晚使用的计算机上的缓存,我很确定它会起作用。
谢谢麦克斯!投了赞成票。
【讨论】:
以上是关于Rails 5生产资产管道CSS未呈现的主要内容,如果未能解决你的问题,请参考以下文章
无法将凉亭组件 css 添加到 Rails 4.2 中的资产管道中