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見つけるまで大分時間費やしたなー。。。。