【发布时间】:2013-09-06 17:10:40
【问题描述】:
我已将我的 Rails 应用程序转换为 Rails 4。我正在使用 Twitter Bootstrap Rails gem 2.2.6。
我的应用程序在本地和生产环境中运行良好。当我部署一切看起来都很好。浏览网站时,我的 Heroku 日志中没有看到任何错误。
但是,虽然我的开发环境可以正确显示我的颜色自定义,但在生产中它使用的是 Bootstrap 默认值。
我尝试在每次部署之前重新编译我的资产:
RAILS_ENV=production bundle exec rake assets:precompile
我的 application.css 包含通常的内容:
*= require_self
*= require_tree .
我的覆盖位于 bootstrap_and_overrides.css.less 中,如下所示:
@navbarBackground: #4466af;
@navbarBackgroundHighlight: #4E7AC7;
@navbarText: @white;
@navbarLinkColor: @white;
@navbarLinkColorHover: #7FB2F0;
我所有的其他覆盖都正常工作。导致问题的只是导航栏。
我已清除浏览器缓存/历史记录/等。这也没有解决它。
有什么想法吗?我完全被难住了。
【问题讨论】:
-
既然您已经清除了浏览器缓存:您是否还检查了 prod 环境的 css 中的颜色设置?
-
当我检查 dev 中的元素时,颜色是正确的。在生产中它们不是。例如:dev 中的 bootstrap_and_overrides.css.less 显示背景颜色:#4a72bd。在生产中编译的 application.css 显示背景颜色:#fafafa
-
嗯,似乎是 Heroku 的问题,这有点奇怪......就我个人而言,我使用 bootstrap-sass gem,它在 Heroku 上运行良好,具有覆盖。如果您尝试这样做,请务必在导入引导语句之前在您的 custom.css.scss 中定义变量覆盖。
标签: ruby-on-rails twitter-bootstrap heroku twitter-bootstrap-rails