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 只会运行该块一次,直到您删除内容。看看下面的代码会发生什么

>> 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 回答