Commit 9df43c15
mo khan <mo@mokhan.ca>
2014-09-08 02:33:20
add infinite scroll to tags page.
Changed files (4)
app
controllers
views
creation_tags
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' %>');