【发布时间】:2016-10-10 14:25:01
【问题描述】:
我创建了一个我认为不错的日历布局。我使用 capistrano 配方将其部署到舞台上,而造型看起来就像一场灾难。我想也许部署出错了。我检查了暂存站点,我注意到td 周围有一个边框,而我的开发没有它。有没有这方面的 css 声明?
$ grep -rnw "$MYSITE/current/app/assets/stylesheets" -e ".fc td"
$ tail -n 1000 $MYSITE/current/app/assets/stylesheets/fullcalendar_engine/fullcalendar.css | grep -B10 -A10 ".fc td"
.fc th,
.fc td {
border-style: solid;
border-width: 1px;
padding: 0;
vertical-align: top;
}
是的。事实上,我的本地机器上也有它:
.fc th,
.fc td {
border-style: solid;
border-width: 1px;
padding: 0;
vertical-align: top;
}
所以部署没有出错。我的本地环境中发生了一些缓存行为。我在本地运行了以下内容:
rake assets:clean assets:clobber assets:precompile tmp:clear
在那之后,我的本地现在看起来像舞台。我不明白为什么我的本地资产被缓存了。它们应该在每次页面加载时刷新。在development.rb,我没有缓存:
config.cache_classes = false
config.action_controller.perform_caching = false
第一个确保为每个请求重新加载每个 ruby 类(使用 ruby load 而不是 require),第二个确保没有片段缓存。诚然,两者都与资产无关,但我看到的资产 development.rb 中唯一一行是这一行:
config.assets.raise_runtime_errors = true
我是否在开发过程中遗漏了什么?通常当我进行 css 更改并刷新页面时,它会更新更改,但这次没有。是否可以将特定配置传递给 development.rb 以确定始终为每个请求重新加载 css?
【问题讨论】:
标签: ruby-on-rails caching asset-pipeline