所以我正在开发一个 Rails 应用程序,并且我正在对提要进行分页。当我这样做时,我想知道我是否以正确的方式进行操作,因为我的加载时间超过 1500 毫秒。我的代码是:
stories = Story.feed
@stories = Kaminari.paginate_array(stories).page(params[:page]).per(params[:pageSize])
我对此有几个问题:
- 我应该分页
Story.feed
,还是有某种方法只返回我需要的一些故事? - 这个加载时间正常吗?
- 我还可以做些什么来优化它
(另外,Story.feed 返回一个故事对象数组。代码在这里:
def self.feed
rawStories = Story.includes([:likes, :viewers, :user, :storyblocks]).all
newFeaturedStories = rawStories.where(:featured => true).where(:updated_at.gte => (Date.today - 3)).desc(:created_at).entries
normalStories = rawStories.not_in(:featured => true, :or => [:updated_at.gte => (Date.today - 3)]).desc(:created_at).entries
newFeaturedStories.entries.concat(normalStories.entries)
end
我正在使用 mongoid 和 mongodb