Commit 8acd760e5140f9ca5cfcccd17622dfccdfc6e21f

Authored by Antonio Terceiro
1 parent 1b944f75

Avoid paginating after loading everything.

Instead, use #paginate to find the records.

(ActionItem1689)
app/controllers/my_profile/cms_controller.rb
... ... @@ -66,19 +66,21 @@ class CmsController < MyProfileController
66 66 conditions = ['type != ?', 'RssFeed']
67 67 end
68 68  
69   - @articles = @article.children.find(
70   - :all,
71   - :order => "case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC",
72   - :conditions => conditions
73   - ).paginate(:per_page => per_page, :page => params[:npage])
  69 + @articles = @article.children.paginate(
  70 + :order => "case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC",
  71 + :conditions => conditions,
  72 + :per_page => per_page,
  73 + :page => params[:npage]
  74 + )
74 75 end
75 76  
76 77 def index
77 78 @article = nil
78   - @articles = profile.top_level_articles.find(
79   - :all,
80   - :order => "case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC"
81   - ).paginate(:per_page => per_page, :page => params[:npage])
  79 + @articles = profile.top_level_articles.paginate(
  80 + :order => "case when type = 'Folder' then 0 when type ='Blog' then 1 else 2 end, updated_at DESC",
  81 + :per_page => per_page,
  82 + :page => params[:npage]
  83 + )
82 84 render :action => 'view'
83 85 end
84 86  
... ...
app/helpers/folder_helper.rb
... ... @@ -4,10 +4,11 @@ module FolderHelper
4 4  
5 5 def list_articles(articles, recursive = false)
6 6 if !articles.blank?
7   - articles = articles.find(
8   - :all,
9   - :order => "updated_at DESC"
10   - ).paginate(:per_page => 10, :page => params[:npage])
  7 + articles = articles.paginate(
  8 + :order => "updated_at DESC",
  9 + :per_page => 10,
  10 + :page => params[:npage]
  11 + )
11 12  
12 13 render :file => 'shared/articles_list', :locals => {:articles => articles, :recursive => recursive}
13 14 else
... ...