aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source/caching_with_rails.md
diff options
context:
space:
mode:
authorप्रथमेश Sonpatki <csonpatki@gmail.com>2016-07-24 10:13:41 +0530
committerGitHub <noreply@github.com>2016-07-24 10:13:41 +0530
commit56527bb737eb5e1d5531cafe99ce91d025565ead (patch)
tree8010952998c539316c0d382505e7dcb539dc5f3b /guides/source/caching_with_rails.md
parent7714e83da0c8062658a8f38470c1163532f19552 (diff)
parentd4f1b8090a0be336b0b948e09ebca9144bb7c9d8 (diff)
downloadrails-56527bb737eb5e1d5531cafe99ce91d025565ead.tar.gz
rails-56527bb737eb5e1d5531cafe99ce91d025565ead.tar.bz2
rails-56527bb737eb5e1d5531cafe99ce91d025565ead.zip
Merge pull request #25928 from mechanicles/info-for-cache-fetch-block
Add proper description for `Rails.cache.fetch` [ci skip]
Diffstat (limited to 'guides/source/caching_with_rails.md')
-rw-r--r--guides/source/caching_with_rails.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/guides/source/caching_with_rails.md b/guides/source/caching_with_rails.md
index ad1f20e645..cc84ecb216 100644
--- a/guides/source/caching_with_rails.md
+++ b/guides/source/caching_with_rails.md
@@ -270,7 +270,7 @@ simply be explicit in a comment, like:
Sometimes you need to cache a particular value or query result instead of caching view fragments. Rails' caching mechanism works great for storing __any__ kind of information.
-The most efficient way to implement low-level caching is using the `Rails.cache.fetch` method. This method does both reading and writing to the cache. When passed only a single argument, the key is fetched and value from the cache is returned. If a block is passed, the result of the block will be cached to the given key and the result is returned.
+The most efficient way to implement low-level caching is using the `Rails.cache.fetch` method. This method does both reading and writing to the cache. When passed only a single argument, the key is fetched and value from the cache is returned. If a block is passed, that block will be executed in the event of a cache miss. The return value of the block will be written to the cache under the given cache key, and that return value will be returned. In case of cache hit, the cached value will be returned without executing the block.
Consider the following example. An application has a `Product` model with an instance method that looks up the product’s price on a competing website. The data returned by this method would be perfect for low-level caching: