前提・実現したいこと
rails Redis 詳細画面がエラーで見れない
rails でRedisを用いてpv数のランキングを作っていて、
ランキングを反映させることは出来たのですが、投稿した記事を削除した後、他の投稿の詳細画面を見ようとするとエラーが起こります。
発生している問題・エラーメッセージ
ActiveRecord::RecordNotFound in ArticleController#show Couldn't find Post with 'id'=27
該当のソースコード
ArticleController REDIS.zincrby "article/#{Date.today.to_s}",1,"#{@post.id}" ids = REDIS.zrevrangebyscore "article/#{Date.today.to_s}", "+inf", 0, limit: [0, 3] @ranking_posts = ids.map{ |id| Post.find(id) }
試したこと
記事のランキング自体は正常に動いていたので、削除時にRedisのデータが消去できていないのではと考え、destroyメソッドに
REDIS.zrem "article/#{Date.today.to_s},#{@post.id}"
と書き、サーバーを再起動してみたが、結果は変わらず(コードの書き方があっているかどうかもわからない)
pv数の順にする記事は何個か見つかったが、削除時の挙動について書いてるものを見つけることは出来なかった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/13 04:34