【问题标题】:Rails Asset Pipeline - CSS Not UpdatingRails 资产管道 - CSS 未更​​新
【发布时间】:2013-01-09 18:29:57
【问题描述】:

我正在尝试更新 Rails 应用程序中的字体 - 特别是顶部导航栏中品牌类中的文本。我已经成功地使用谷歌网络字体更改了字体,但是现在当我再次尝试更新字体时,它似乎“卡在”我使用的最后一个字体上。我在部署到 heroku 之前预编译了资产,我认为这可能是导致问题的原因。现在更改不会在本地或生产中更新。

我做了几件事来排除故障,但似乎都没有工作:

  1. 重新启动 rails 服务器
  2. 清空了 tmp 文件夹中的缓存文件夹
  3. 已删除公共资产
  4. 再次尝试预编译资产 - 字体更改在本地或 heroku 上不起作用
  5. 尝试定位更具体的 css 选择器(.navbar .brand 与 .brand - 它更早地适用于 .brand,所以不要认为这是问题)
  6. 已清除浏览历史记录

关于可能导致此问题的任何想法?

【问题讨论】:

    标签: css ruby-on-rails asset-pipeline


    【解决方案1】:

    您在使用涡轮链接吗?如果是这样,请阅读this

    资产变化检测

    您可以跟踪某些资产,例如 application.js 和 application.css, 您要确保始终是最新版本 Turbolinks 会话。这是通过将这些资产链接标记为 data-turbolinks-track,像这样:

    <link href="/assets/application-9bd64a86adb3cd9ab3b16e9dca67a33a.css"
    

    rel="stylesheet" type="text/css" data-turbolinks-track>

    如果这些资产更改了 URL(嵌入 md5 标记以确保这一点),则 页面将完全重新加载,而不是通过 Turbolinks。这 确保所有 Turbolinks 会话将始终运行在您的 最新的 JavaScript 和 CSS。

    发生这种情况时,从技术上讲,您将请求同一页面 两次。一旦通过 Turbolinks 检测到资产发生了变化,并且 然后当我们完全重定向到该页面时。

    【讨论】:

    • 谢谢,但我没有使用 Turbolinks
    • 我尝试了这两种方法 - 仍然无法正常工作,但感谢您的建议。
    【解决方案2】:

    愚蠢的错误 - 在我的 css 中使用 font-style: monospace 设计了一个导航栏类。清除后,一切正常 - 希望故障排除步骤对其他人有所帮助!

    【讨论】:

      【解决方案3】:
      1. 查看您的页面源并搜索字体 src。如果找不到,请跳至 3.

      2. 在 Rails 应用程序之外测试字体和显示代码,以确保它是资产管道。

      3. 如果 src 和显示代码有效,请提供您的 application.css 和 application.js 以检查您的清单。

      4. 自上次资产以来,您更改了哪些配置文件/代码:无法正常工作的预编译。

      我的类似问题:Bootstrap, jQuery, and the Rails asset pipeline

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-31
        • 2018-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-01
        相关资源
        最近更新 更多