Commit 3a86efad

mo khan <mo@mokhan.ca>
2014-09-06 06:16:28
add fragment caching for views.
1 parent bcbbd93
Changed files (6)
app/views/categories/show.html.erb
@@ -3,18 +3,20 @@
   <% @creations.each_slice(6).each do |batch| %>
     <ul class='thumbnails'>
       <% batch.each do |creation| %>
-        <li class="span2">
-          <div class="thumbnail">
-            <%= link_to creation do %>
-              <%= image_tag creation.primary_image.url_for(:thumb) %>
-            <% end %>
-            <div class="caption">
-              <h4><%= link_to shrink(creation.name, 12), creation %></h4>
-              <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
-              <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+        <% cache creation do %>
+          <li class="span2">
+            <div class="thumbnail">
+              <%= link_to creation do %>
+                <%= image_tag creation.primary_image.url_for(:thumb) %>
+              <% end %>
+              <div class="caption">
+                <h4><%= link_to shrink(creation.name, 12), creation %></h4>
+                <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
+                <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+              </div>
             </div>
-          </div>
-        </li>
+          </li>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
app/views/creation_tags/show.html.erb
@@ -3,18 +3,20 @@
   <% @creations.each_slice(6).each do |batch| %>
     <ul class='thumbnails'>
       <% batch.each do |creation| %>
-        <li class="span2">
-          <div class="thumbnail">
-            <%= link_to creation do %>
-              <%= image_tag creation.primary_image.url_for(:thumb) %>
-            <% end %>
-            <div class="caption">
-              <h4><%= link_to shrink(creation.name, 12), creation %></h4>
-              <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
-              <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+        <% cache creation do %>
+          <li class="span2">
+            <div class="thumbnail">
+              <%= link_to creation do %>
+                <%= image_tag creation.primary_image.url_for(:thumb) %>
+              <% end %>
+              <div class="caption">
+                <h4><%= link_to shrink(creation.name, 12), creation %></h4>
+                <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
+                <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+              </div>
             </div>
-          </div>
-        </li>
+          </li>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
app/views/creations/_index.html.erb
@@ -2,18 +2,20 @@
   <% @creations.each_slice(6).each do |batch| %>
     <ul class='thumbnails'>
       <% batch.each do |creation| %>
-        <li class="span2">
-          <div class="thumbnail">
-            <%= link_to creation do %>
-              <%= image_tag creation.primary_image.url_for(:thumb) %>
-            <% end %>
-            <div class="caption">
-              <h4><%= link_to shrink(creation.name, 12), creation %></h4>
-              <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
-              <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+        <% cache creation do %>
+          <li class="span2">
+            <div class="thumbnail">
+              <%= link_to creation do %>
+                <%= image_tag creation.primary_image.url_for(:thumb) %>
+              <% end %>
+              <div class="caption">
+                <h4><%= link_to shrink(creation.name, 12), creation %></h4>
+                <p><%= link_to shrink(creation.user.name, 20), profile_path(creation.user) %></p>
+                <p><small><%= time_ago_in_words(creation.created_at) %> ago.</small></p>
+              </div>
             </div>
-          </div>
-        </li>
+          </li>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
app/views/layouts/_header.html.erb
@@ -14,8 +14,10 @@
               <%= text_field_tag 'q', @search, class: 'search-query', placeholder: 'Search' %>
             <% end %>
           </li>
-          <% @categories.each do |category| %>
-            <li class="<%= "active" if params["slug"] == category.slug %>"><%= link_to category.name.pluralize, category_path(category) %></li>
+          <% cache @categories do %>
+            <% @categories.each do |category| %>
+              <li class="<%= "active" if params["slug"] == category.slug %>"><%= link_to category.name.pluralize, category_path(category) %></li>
+            <% end %>
           <% end %>
           <li class="<%= "active" if params["controller"] == "profiles" %>"> <%= link_to "Artists", profiles_path %> </li>
           <li class="<%= "active" if params["controller"] == "tutorials" %>"> <%= link_to "Tutorials", tutorials_path %> </li>
app/views/profiles/_index.html.erb
@@ -2,18 +2,20 @@
   <% @profiles.each_slice(6).each do |batch| %>
     <ul class='thumbnails'>
       <% batch.each do |profile| %>
-        <li class="span2">
-          <div class="thumbnail">
-            <%= link_to profile_path(profile) do %>
-              <%= avatar_for(profile) %>
-            <% end %>
-            <div class="caption">
-              <h4><%= link_to shrink(profile.name, 12), profile_path(profile) %></h4>
-              <p><%= link_to shrink(profile.city, 20, 'sugarland'), profile_path(profile) %></p>
-              <p><small><%= time_ago_in_words(profile.created_at) %> ago.</small></p>
+        <% cache profile do %>
+          <li class="span2">
+            <div class="thumbnail">
+              <%= link_to profile_path(profile) do %>
+                <%= avatar_for(profile) %>
+              <% end %>
+              <div class="caption">
+                <h4><%= link_to shrink(profile.name, 12), profile_path(profile) %></h4>
+                <p><%= link_to shrink(profile.city, 20, 'sugarland'), profile_path(profile) %></p>
+                <p><small><%= time_ago_in_words(profile.created_at) %> ago.</small></p>
+              </div>
             </div>
-          </div>
-        </li>
+          </li>
+        <% end %>
       <% end %>
     </ul>
   <% end %>
app/views/search/index.html.erb
@@ -19,6 +19,7 @@
             </thead>
             <tbody>
             <% @creations.each_with_index do |creation, index| %>
+              <% cache creation do %>
               <tr>
                 <td>
                   <%= link_to creation_path(creation) do %>
@@ -29,6 +30,7 @@
                 <td><%= creation.name %></td>
                 <td><%= creation.story %></td>
               </tr>
+              <% end %>
             <% end %>
             </tbody>
           </table>
@@ -45,10 +47,12 @@
             </thead>
             <tbody>
             <% @tutorials.each_with_index do |tutorial, index| %>
+              <% cache tutorial do %>
               <tr>
                 <td><%= link_to tutorial.heading, tutorial_path(tutorial) %></td>
                 <td><%= tutorial.description %></td>
               </tr>
+              <% end %>
             <% end %>
             </tbody>
           </table>