diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-06-17 10:47:08 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-06-17 10:47:08 -0700 |
commit | 252d11321f8ca0c47111304ffe37d9bf69cad77b (patch) | |
tree | 301a28faa688f421a353df15cc16f1ae558e8deb /guides/source/caching_with_rails.md | |
parent | 89c9ff8d8b70bb5b0bc56576be94f27f87996bbe (diff) | |
parent | ad707a1f16dea6a93f37feed711ec0b51c2d3ab6 (diff) | |
download | rails-252d11321f8ca0c47111304ffe37d9bf69cad77b.tar.gz rails-252d11321f8ca0c47111304ffe37d9bf69cad77b.tar.bz2 rails-252d11321f8ca0c47111304ffe37d9bf69cad77b.zip |
Merge branch 'master' into mrbrdo-fixserialization
* master: (142 commits)
Use Colspan in th Tags
Added test for link_to_unless to make sure the result consistency.
Escape the string even when the condition of link_to_unless is not satisfied.
Add CHANGELOG entry for #10969
Use a case insensitive URI Regexp for #asset_path
collection tags accept html attributes as the last element of collection
Rewind StringIO instances before be parsed again
Use xml instead already parsed xml
Updated the doc for const_regexp [ci skip]
Make test name descriptive and add reference to original regression commit
fixture setup does not rely on `AR::Base.configurations`.
regression test + mysql2 adapter raises correct error if conn is closed.
cleanup, remove trailing whitespace from AR changelog
'json' gem is no more required under JRuby
fix typos
Fix AS changelog [ci skip]
Update the HTML boolean attributes per the HTML 5.1 spec
Changing const_regexp to check for constant name.
valid_app_const? -> valid_const?
Add CHANGELOG entry for #10740
...
Diffstat (limited to 'guides/source/caching_with_rails.md')
-rw-r--r-- | guides/source/caching_with_rails.md | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/guides/source/caching_with_rails.md b/guides/source/caching_with_rails.md index 456abaf612..1e196b0e42 100644 --- a/guides/source/caching_with_rails.md +++ b/guides/source/caching_with_rails.md @@ -104,6 +104,15 @@ This method generates a cache key that depends on all products and can be used i All available products: <% end %> ``` + +If you want to cache a fragment under certain condition you can use `cache_if` or `cache_unless` + +```erb +<% cache_if (condition, cache_key_for_products) do %> + All available products: +<% end %> +``` + You can also use an Active Record model as the cache key: ```erb @@ -236,7 +245,7 @@ config.cache_store = :ehcache_store When initializing the cache, you may use the `:ehcache_config` option to specify the Ehcache config file to use (where the default is "ehcache.xml" in your Rails config directory), and the :cache_name option to provide a custom name for your cache (the default is rails_cache). -In addition to the standard `:expires_in` option, the `write` method on this cache can also accept the additional `:unless_exist` option, which will cause the cache store to use Ehcache's `putIfAbsent` method instead of `put`, and therefore will not overwrite an existing entry. Additionally, the `write` method supports all of the properties exposed by the [Ehcache Element class](http://ehcache.org/apidocs/net/sf/ehcache/Element.html) , including: +In addition to the standard `:expires_in` option, the `write` method on this cache can also accept the additional `:unless_exist` option, which will cause the cache store to use Ehcache's `putIfAbsent` method instead of `put`, and therefore will not overwrite an existing entry. Additionally, the `write` method supports all of the properties exposed by the [Ehcache Element class](http://ehcache.org/apidocs/net/sf/ehcache/Element.html) , including: | Property | Argument Type | Description | | --------------------------- | ------------------- | ----------------------------------------------------------- | |