コードブロック内の値をデバッグ/出力したかった
Rails.cache.fetch(some values) do
#want to get the values from this blocks.
end
Rails.logger.ap、puts、デバッガーで試しました。何もうまくいきませんでした。キャッシュフェッチが原因だと思いますか?
解決策を教えてください。前もって感謝します。
コードブロック内の値をデバッグ/出力したかった
Rails.cache.fetch(some values) do
#want to get the values from this blocks.
end
Rails.logger.ap、puts、デバッガーで試しました。何もうまくいきませんでした。キャッシュフェッチが原因だと思いますか?
解決策を教えてください。前もって感謝します。
apneadivingがコメントしたことを説明するだけです。
キャッシュを使用しているため、コンテンツを削除するまで、Rails はブロックを 1 回だけ実行します。次のコードで何が起こるかを見てください
>> Rails.cache.fetch(:foo) { 'bar' } # writes 'foo' to cache with value 'bar' since this is the first time you run the command
>> Rails.cache.fetch(:foo) { 'bar' } # fetches 'foo' from cache since it's already in the cache so the block is not executed
ブロックの内部をデバッグしたい場合は、最初にキャッシュへの呼び出しを削除する (常にブロックを評価する) かRails.cache.delete(:foo)
、ブロックの前に追加することができます。