1

コードブロック内の値をデバッグ/出力したかった

Rails.cache.fetch(some values) do
 #want to get the values from this blocks.

end

Rails.logger.ap、puts、デバッガーで試しました。何もうまくいきませんでした。キャッシュフェッチが原因だと思いますか?

解決策を教えてください。前もって感謝します。

4

1 に答える 1

1

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)、ブロックの前に追加することができます。

于 2013-02-27T08:05:51.383 に答える