Load 100 users at a time for the badge page, with a button to load more.

This commit is contained in:
Vikhyat Korrapati
2014-04-22 15:10:47 +05:30
parent ba862439f2
commit 4e89b64e64
5 changed files with 69 additions and 13 deletions

View File

@@ -1,14 +1,21 @@
class UserBadgesController < ApplicationController
def index
params.permit(:username)
params.permit(:username).permit(:granted_before)
if params[:username]
user = fetch_user_from_params
user_badges = user.user_badges
else
badge = fetch_badge_from_params
user_badges = badge.user_badges.order('granted_at DESC').limit(200)
user_badges = badge.user_badges.order('granted_at DESC').limit(100)
end
if params[:granted_before]
user_badges = user_badges.where('granted_at < ?', Time.at(params[:granted_before].to_f))
end
user_badges = user_badges.includes(:user, :granted_by, badge: :badge_type)
render_serialized(user_badges, UserBadgeSerializer, root: "user_badges")
end