Railsのcacheでハマった

ruby Ruby
rails Rails

Railsのcacheでハマったお話

URLの区切りを_から-に変更したさい、ローカルではうまく行っていたが、開発環境ではURLが_のままになっており、Page not foundとなっていた。
Chromeをcommand+shift+rでリロードしてみても変わらず。。。

原因

xxx.haml
- cache('xxx') do
 ~~~以下略~~~

と、ページをcacheしており永続となっていたため、URLの変更がきいていなかった。。
(ローカルはそもそもcacheがoffになっていたため気づかなかった)

対策

ということで有効期限(expires_in)を付ける。

xxx.haml
- cache('xxx', expires_in: 1.seconds) do
 ~~~以下略~~~

満を持して開発環境へデプロイ!

しかしまだURLが_のまま。。。
どうやら、前のcacheが永続だったため、後から有効期限付けても効いてくれないみたい。。。
一回キャッシュクリアしてみる。
bundle exec rails runner 'Rails.cache.clear'

再度表示したところ、URLの区切りが_から-に直ってた。
cache見つけるまで大分時間費やしたなー。。。。