From 2175e798e11806a2189261290b9669b1d58b7c98 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 17 Apr 2023 10:27:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8A=A8=E6=80=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/project_trends_controller.rb | 12 ++++++++++-- app/views/project_trends/last.json.jbuilder | 8 ++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 app/views/project_trends/last.json.jbuilder diff --git a/app/controllers/project_trends_controller.rb b/app/controllers/project_trends_controller.rb index f283d05f..4c0b2348 100644 --- a/app/controllers/project_trends_controller.rb +++ b/app/controllers/project_trends_controller.rb @@ -1,6 +1,6 @@ class ProjectTrendsController < ApplicationController - before_action :load_repository - before_action :check_project_public + before_action :load_repository, except: [:last] + before_action :check_project_public, except: [:last] def index project_trends = @project.project_trends.preload(:user, trend: :user, project: :owner) @@ -42,6 +42,14 @@ class ProjectTrendsController < ApplicationController @project_trends = project_trends.page(@page).per(@limit) end + def last + project_trends = ProjectTrend.preload(:user, trend: :user, project: :owner).order("id desc") + @page = params[:page] || 1 + @limit = params[:limit] || 20 + @project_trends_count = project_trends.count + @project_trends = project_trends.page(@page).per(@limit) + end + private def check_project_public diff --git a/app/views/project_trends/last.json.jbuilder b/app/views/project_trends/last.json.jbuilder new file mode 100644 index 00000000..04edf97a --- /dev/null +++ b/app/views/project_trends/last.json.jbuilder @@ -0,0 +1,8 @@ +json.partial! "commons/success" +json.total_count @project_trends_count +json.project_trends do + json.array! @project_trends.to_a.each do |trend| + json.partial! "detail", trend: trend + end +end +