だから私はレールアプリを開発しており、フィードのページネーションに取り組んでいます。ロード時間が 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を使用しています