Commit 9df43c15

mo khan <mo@mokhan.ca>
2014-09-08 02:33:20
add infinite scroll to tags page.
1 parent e3fc0e5
Changed files (4)
app/controllers/creation_tags_controller.rb
@@ -4,7 +4,7 @@ class CreationTagsController < ApplicationController
   end
 
   def show
-    @tag = params[:id].downcase.gsub(/ /, '-')
-    @creations = Creation.includes([:user, :tags, :photos]).tagged_with([@tag]).where('photos_count > 0').page(params[:page]).per(12)
+    @tag = params[:id].downcase.parameterize
+    @creations = Creation.includes([:user, :photos]).tagged_with([@tag]).where('photos_count > 0').page(params[:page]).per(12)
   end
 end
app/views/creation_tags/_show.html.erb
@@ -0,0 +1,25 @@
+<div class="row-fluid">
+  <% @creations.each_slice(6).each do |batch| %>
+    <ul class='thumbnails'>
+      <% batch.each do |creation| %>
+        <% 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>
+          </li>
+        <% end %>
+      <% end %>
+    </ul>
+  <% end %>
+</div>
+<div id='more-button-row' class="row-fluid">
+  <%= link_to_next_page @creations, 'More...', params: { cache: false }, remote: true, class: 'more-button hidden', data: { disable_with: 'loading...' } %>
+</div>
app/views/creation_tags/show.html.erb
@@ -1,26 +1,7 @@
 <% provide(:title, @tag) -%>
-<div class="row-fluid">
-  <% @creations.each_slice(6).each do |batch| %>
-    <ul class='thumbnails'>
-      <% batch.each do |creation| %>
-        <% 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>
-          </li>
-        <% end %>
-      <% end %>
-    </ul>
-  <% end %>
+<div id="bakery">
+  <%= render partial: 'show' %>
 </div>
-<div class="row-fluid">
+<div id='pagination-row' class="row-fluid">
   <%= render "shared/paging", items: @creations %>
 </div>
app/views/creation_tags/show.js.erb
@@ -0,0 +1,3 @@
+$('#more-button-row').remove();
+$('#pagination-row').remove();
+$('#bakery').append('<%= j render partial: 'show' %>');