Add Bullet gem for dev & fix N+1 queries issues for core index actions
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -69,6 +69,7 @@ group :development do
|
|||||||
gem "web-console"
|
gem "web-console"
|
||||||
|
|
||||||
gem "annotaterb"
|
gem "annotaterb"
|
||||||
|
gem "bullet"
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
|||||||
@@ -91,6 +91,9 @@ GEM
|
|||||||
brakeman (8.0.4)
|
brakeman (8.0.4)
|
||||||
racc
|
racc
|
||||||
builder (3.3.0)
|
builder (3.3.0)
|
||||||
|
bullet (8.1.0)
|
||||||
|
activesupport (>= 3.0.0)
|
||||||
|
uniform_notifier (~> 1.11)
|
||||||
capybara (3.40.0)
|
capybara (3.40.0)
|
||||||
addressable
|
addressable
|
||||||
matrix
|
matrix
|
||||||
@@ -424,6 +427,7 @@ GEM
|
|||||||
unicode-display_width (3.2.0)
|
unicode-display_width (3.2.0)
|
||||||
unicode-emoji (~> 4.1)
|
unicode-emoji (~> 4.1)
|
||||||
unicode-emoji (4.2.0)
|
unicode-emoji (4.2.0)
|
||||||
|
uniform_notifier (1.18.0)
|
||||||
uri (1.1.1)
|
uri (1.1.1)
|
||||||
useragent (0.16.11)
|
useragent (0.16.11)
|
||||||
web-console (4.3.0)
|
web-console (4.3.0)
|
||||||
@@ -455,6 +459,7 @@ DEPENDENCIES
|
|||||||
bootsnap
|
bootsnap
|
||||||
bootstrap (~> 5.3.3)
|
bootstrap (~> 5.3.3)
|
||||||
brakeman
|
brakeman
|
||||||
|
bullet
|
||||||
capybara
|
capybara
|
||||||
csv
|
csv
|
||||||
damerau-levenshtein
|
damerau-levenshtein
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class ContestantsController < ApplicationController
|
|||||||
def index
|
def index
|
||||||
authorize @contest
|
authorize @contest
|
||||||
|
|
||||||
@contestants = @contest.contestants.sort_by { |contestant| contestant.name }
|
@contestants = @contest.contestants.includes([ :completions, :offline ]).sort_by { |contestant| contestant.name }
|
||||||
filter_contestants_per_category
|
filter_contestants_per_category
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class ContestsController < ApplicationController
|
|||||||
def index
|
def index
|
||||||
authorize :contest
|
authorize :contest
|
||||||
|
|
||||||
@contests = current_user.contests
|
@contests = current_user.contests.includes([ :contestants, puzzles: [ :image_attachment ] ])
|
||||||
@title = I18n.t("contests.index.title", username: current_user.username)
|
@title = I18n.t("contests.index.title", username: current_user.username)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class PuzzlesController < ApplicationController
|
|||||||
authorize @contest
|
authorize @contest
|
||||||
|
|
||||||
@title = @contest.name
|
@title = @contest.name
|
||||||
@puzzles = @contest.puzzles.order(:id)
|
@puzzles = @contest.puzzles.includes([ :image_attachment ]).order(:id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ class UsersController < ApplicationController
|
|||||||
authorize :user
|
authorize :user
|
||||||
|
|
||||||
@title = t("users.index.title")
|
@title = t("users.index.title")
|
||||||
@users = User.all
|
@users = User.all.includes(contests: [ :contestants, :puzzles ])
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
|
|||||||
@@ -71,4 +71,11 @@ Rails.application.configure do
|
|||||||
|
|
||||||
# Apply autocorrection by RuboCop to files generated by `bin/rails generate`.
|
# Apply autocorrection by RuboCop to files generated by `bin/rails generate`.
|
||||||
# config.generators.apply_rubocop_autocorrect_after_generate!
|
# config.generators.apply_rubocop_autocorrect_after_generate!
|
||||||
|
|
||||||
|
config.after_initialize do
|
||||||
|
Bullet.enable = true
|
||||||
|
Bullet.alert = true
|
||||||
|
Bullet.console = true
|
||||||
|
Bullet.rails_logger = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user