浏览代码

Fixed n+1 for dashboards

Andrew Kane 8 年之前
父节点
当前提交
d7249e1ff6
共有 3 个文件被更改,包括 6 次插入1 次删除
  1. 4 1
      app/controllers/blazer/queries_controller.rb
  2. 1 0
      app/models/blazer/check.rb
  3. 1 0
      app/models/blazer/dashboard.rb

+ 4 - 1
app/controllers/blazer/queries_controller.rb

@@ -4,8 +4,11 @@ module Blazer
 
 
     def home
     def home
       set_queries(1000)
       set_queries(1000)
+
+      @dashboards = Blazer::Dashboard.order(:name)
+      @dashboards = @dashboards.includes(:creator) if Blazer.user_class
       @dashboards =
       @dashboards =
-        Blazer::Dashboard.order(:name).map do |d|
+        @dashboards.map do |d|
           {
           {
             name: "<strong>#{view_context.link_to(d.name, d)}</strong>",
             name: "<strong>#{view_context.link_to(d.name, d)}</strong>",
             creator: blazer_user && d.try(:creator) == blazer_user ? "You" : d.try(:creator).try(Blazer.user_name),
             creator: blazer_user && d.try(:creator) == blazer_user ? "You" : d.try(:creator).try(Blazer.user_name),

+ 1 - 0
app/models/blazer/check.rb

@@ -1,5 +1,6 @@
 module Blazer
 module Blazer
   class Check < ActiveRecord::Base
   class Check < ActiveRecord::Base
+    belongs_to :creator, Blazer::BELONGS_TO_OPTIONAL.merge(class_name: Blazer.user_class.to_s) if Blazer.user_class
     belongs_to :query
     belongs_to :query
 
 
     validates :query_id, presence: true
     validates :query_id, presence: true

+ 1 - 0
app/models/blazer/dashboard.rb

@@ -1,5 +1,6 @@
 module Blazer
 module Blazer
   class Dashboard < ActiveRecord::Base
   class Dashboard < ActiveRecord::Base
+    belongs_to :creator, Blazer::BELONGS_TO_OPTIONAL.merge(class_name: Blazer.user_class.to_s) if Blazer.user_class
     has_many :dashboard_queries, dependent: :destroy
     has_many :dashboard_queries, dependent: :destroy
     has_many :queries, through: :dashboard_queries
     has_many :queries, through: :dashboard_queries