diff --git a/app/controllers/home/competitions_controller.rb b/app/controllers/home/competitions_controller.rb new file mode 100644 index 00000000..1bf307eb --- /dev/null +++ b/app/controllers/home/competitions_controller.rb @@ -0,0 +1,9 @@ +class Home::CompetitionsController < ApplicationController + + def index + @competitions = Competition.active.order(start_time: :desc).limit(3) + if @competitions.size < 3 + @competitions += Competition.archived.order(start_time: :desc).limit(3-@competitions.size) + end + end +end \ No newline at end of file diff --git a/app/controllers/platform_statistics_controller.rb b/app/controllers/home/platform_statistics_controller.rb similarity index 84% rename from app/controllers/platform_statistics_controller.rb rename to app/controllers/home/platform_statistics_controller.rb index 128085cc..9ff5a16c 100644 --- a/app/controllers/platform_statistics_controller.rb +++ b/app/controllers/home/platform_statistics_controller.rb @@ -1,4 +1,4 @@ -class PlatformStatisticsController < ApplicationController +class Home::PlatformStatisticsController < ApplicationController def index @platform_statistic = PlatformStatistic.data diff --git a/app/models/competition.rb b/app/models/competition.rb new file mode 100644 index 00000000..39529d39 --- /dev/null +++ b/app/models/competition.rb @@ -0,0 +1,4 @@ +class Competition < ApplicationRecord + + enum status: {archived: 0, active: 1} +end \ No newline at end of file diff --git a/app/views/home/competitions/index.json.jbuilder b/app/views/home/competitions/index.json.jbuilder new file mode 100644 index 00000000..dca06240 --- /dev/null +++ b/app/views/home/competitions/index.json.jbuilder @@ -0,0 +1,7 @@ +json.competitions do + json.array! @competitions.each do |competition| + json.(competition, :id, :title, :content) + json.start_time format_time(competition.start_time) + json.end_time format_time(competition.end_time) + end +end \ No newline at end of file diff --git a/app/views/platform_statistics/index.json.jbuilder b/app/views/home/platform_statistics/index.json.jbuilder similarity index 100% rename from app/views/platform_statistics/index.json.jbuilder rename to app/views/home/platform_statistics/index.json.jbuilder diff --git a/config/routes.rb b/config/routes.rb index 9c1e2587..c193dae8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -102,7 +102,10 @@ Rails.application.routes.draw do get :template_file end end - resources :platform_statistics, only: [:index] + namespace :home do + resources :platform_statistics, only: [:index] + resources :competitions, only:[:index] + end get 'home/index' get 'home/search' get 'main/first_stamp'