【问题标题】:Rails 4, Heroku, Bootstrap - Overrides not working in ProductionRails 4,Heroku,Bootstrap - 覆盖在生产中不起作用
【发布时间】: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


【解决方案1】:

我找到了答案。当我检查我的 git 存储库时,我发现我不小心提交了一个文件拼写错误。我已经从我的文件系统中删除了它,但它仍然在我的 git repo 中。删除此文件,删除所有资产,重新编译和重新部署修复它。

【讨论】:

  • 只是出于好奇:哪个文件?哪些内容?
  • 这是 bootstrap_and_overrides.css.less 文件。有一个旧版本,文件名中有错字。我已经从我的文件系统中删除了它,但忘记从我的 git repo 中删除它。
猜你喜欢
  • 1970-01-01
  • 2018-01-20
  • 2015-01-23
  • 1970-01-01
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
相关资源
最近更新 更多