Rails资产管道 - CSS不更新

时间:2013-01-09 18:29:57

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

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

我已经做了一些事情来排除故障,但似乎没有任何工作:

  1. 重新启动rails服务器
  2. 清空tmp文件夹中的缓存文件夹
  3. 已删除公共资产
  4. 再次尝试预编译资产 - 字体更改无法在本地或在heroku上运行
  5. 尝试定位一个更具体的css选择器(.navbar .brand与.brand - 之前的.brand工作原因,所以不要认为这是问题)
  6. 清除浏览记录
  7. 关于可能导致此问题的任何想法?

3 个答案:

答案 0 :(得分:3)

你在使用turbolinks吗?如果是,请阅读this

  

资产变更检测

     

您可以跟踪某些资产,例如application.js和application.css,   您要确保的内容始终是最新版本   Turbolinks会议。这是通过标记这些资产链接来完成的   data-turbolinks-track,如下:

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

rel =“stylesheet”type =“text / css”data-turbolinks-track&gt;

     

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

     

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

  1. 查看您的页面源并搜索字体src。如果找不到,请跳至3。

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

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

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

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