From 5882c82f75fa100c0ccf5da3fd6f0e17d393d554 Mon Sep 17 00:00:00 2001 From: "Jesse C. Fisher" Date: Tue, 21 Nov 2023 14:59:40 +0000 Subject: [PATCH] Improve feed --- app/controllers/users_controller.rb | 2 +- app/models/user.rb | 9 ++++++++- app/views/projects/show.html.haml | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index aeb18e60..b0660172 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -19,7 +19,7 @@ class UsersController < ApplicationController @user = current_user @micropost = current_user.microposts.build if current_user.signed_in? @microposts = @user.microposts.paginate(page: params[:page]) - @feed_items = current_user.feed.paginate(page: params[:page]) + @feed_items = current_user.feed.paginate(page: params[:page], per_page: 10) # authorize @user # redirect_to current_user end diff --git a/app/models/user.rb b/app/models/user.rb index c9ce8be3..9bc85b7c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -122,7 +122,14 @@ class User < ActiveRecord::Base end def feed - Micropost.where("micropostable_id IN (?) OR micropostable_id = ?", following_ids, id) + # Following posts + micropost_ids = self.following.map{|f| f.microposts.pluck(:id)}.flatten + # Self posts + micropost_ids << self.microposts.pluck(:id) + # Flatten for SQL query + micropost_ids.flatten! + # Micropost.where("id IN (?)", micropost_ids) + Micropost.where(id: micropost_ids) end end diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml index 1c08c9ab..32c014d2 100644 --- a/app/views/projects/show.html.haml +++ b/app/views/projects/show.html.haml @@ -3,7 +3,7 @@ = @project.title - if policy(@project).edit? = link_to 'Edit', edit_project_path(@project) - = render 'shared/follow_form' if current_user.signed_in? + -# = render 'shared/follow_form' if current_user.signed_in? .description = @project.description