aboutsummaryrefslogtreecommitdiffstats
path: root/guides/source
diff options
context:
space:
mode:
Diffstat (limited to 'guides/source')
-rw-r--r--guides/source/caching_with_rails.md16
-rw-r--r--guides/source/development_dependencies_install.md6
2 files changed, 12 insertions, 10 deletions
diff --git a/guides/source/caching_with_rails.md b/guides/source/caching_with_rails.md
index eec2c02988..b0103c9af4 100644
--- a/guides/source/caching_with_rails.md
+++ b/guides/source/caching_with_rails.md
@@ -70,13 +70,13 @@ code:
When your application receives its first request to this page, Rails will write
a new cache entry with a unique key. A key looks something like this:
-```html
+```
views/products/1-201505056193031061005000/bea67108094918eeba42cd4a6e786901
```
The number in the middle is the `product_id` followed by the timestamp value in
-the `updated_at` value of the product record. Rails uses the timestamp value to
-make sure it is not serving stale data. If the value of `updated_at` has
+the `updated_at` attribute of the product record. Rails uses the timestamp value
+to make sure it is not serving stale data. If the value of `updated_at` has
changed, a new key will be generated. Then Rails will write a new cache to that
key, and the old cache written to the old key will never be used again. This is
called key-based expiration.
@@ -90,7 +90,7 @@ will change, expiring the existing file.
TIP: Cache stores like Memcached will automatically delete old cache files.
If you want to cache a fragment under certain conditions, you can use
-`cache_if` or `cache_unless`
+`cache_if` or `cache_unless`:
```erb
<% cache_if admin?, product do %>
@@ -144,8 +144,8 @@ end
```
With `touch` set to true, any action which changes `updated_at` for a game
-column will also change it in the associated product column, thereby expiring
-the cache.
+record will also change it for the associated product, thereby expiring the
+cache.
### Low-Level Caching
@@ -410,6 +410,8 @@ class ProductsController < ApplicationController
end
```
-### References
+References
+----------
+
* [DHH's article on key-based expiration](https://signalvnoise.com/posts/3113-how-key-based-cache-expiration-works)
* [Ryan Bates' Railscast on cache digests](http://railscasts.com/episodes/387-cache-digests)
diff --git a/guides/source/development_dependencies_install.md b/guides/source/development_dependencies_install.md
index 295e48f493..3c670a1221 100644
--- a/guides/source/development_dependencies_install.md
+++ b/guides/source/development_dependencies_install.md
@@ -9,7 +9,7 @@ After reading this guide, you will know:
* How to set up your machine for Rails development
* How to run specific groups of unit tests from the Rails test suite
-* How the ActiveRecord portion of the Rails test suite operates
+* How the Active Record portion of the Rails test suite operates
--------------------------------------------------------------------------------
@@ -60,7 +60,7 @@ In Ubuntu you're done with just:
$ sudo apt-get install sqlite3 libsqlite3-dev
```
-And if you are on Fedora or CentOS, you're done with
+If you are on Fedora or CentOS, you're done with
```bash
$ sudo yum install sqlite3 sqlite3-devel
@@ -213,7 +213,7 @@ FreeBSD users will have to run the following:
```bash
# pkg install mysql56-client mysql56-server
-# pkg install postgresql93-client postgresql93-server
+# pkg install postgresql94-client postgresql94-server
```
Or install them through ports (they are located under the `databases` folder).