2011-12-14 17 views
0

$ rails console我注意到,多個查詢正在運行時,我保存記錄:在Rails中,爲什麼在保存記錄時運行這些額外的查詢?

ruby-1.9.2-p180 :001 > ActiveRecord::Base.logger = Logger.new(STDOUT) 
=> #<...> 
ruby-1.9.2-p180 :002 > p = Project.first 
Project Load (0.3ms) SELECT `projects`.* FROM `projects` LIMIT 1 
=> #<Project id: 1, category_id: 1, qualified_at: "2011-12-14 15:06:29", ...> 
ruby-1.9.2-p180 :003 > p.qualified_at = Time.now 
=> 2011-12-14 10:11:42 -0500 
ruby-1.9.2-p180 :004 > p.save 
    SQL (0.2ms) BEGIN 
    SQL (1.5ms) SHOW TABLES 
    AREL (0.3ms) UPDATE `projects` SET `qualified_at` = '2011-12-14 15:11:42', `updated_at` = '2011-12-14 15:11:47' WHERE `projects`.`id` = 1 
    Category Load (0.3ms) SELECT `categories`.* FROM `categories` WHERE `categories`.`id` = 1 ORDER BY name LIMIT 1 
    ProjectPerson Load (0.4ms) SELECT `project_people`.* FROM `project_people` WHERE (`project_people`.project_id = 1 AND (project_people.is_client = 1)) LIMIT 1 
    Person Load (0.3ms) SELECT `people`.* FROM `people` WHERE (`people`.`id` = 2) 
    ProjectTag Load (0.4ms) SELECT DISTINCT `project_tags`.tag_id FROM `project_tags` WHERE (`project_tags`.project_id = 1) 
    SQL (0.5ms) COMMIT 
=> true 

我沒有在我的項目模型前或後置過濾器,和我沒有使用觀察員。很明顯,這些查詢與Project模型的關聯有關,但爲什麼查詢正在運行?不知道還有什麼要考慮的。謝謝。

+0

看起來您對您的項目模型進行了涉及Person,Category和ProjectTag的驗證。你能發佈你的完整模型嗎? – icecream 2011-12-14 16:43:46

回答

0

我只是想通了......我使用sunspot_rails gem,它正在更新該記錄的索引:)這些是我的索引定義中引用的關聯。

我會保留這個問題以防其他人碰巧遇到類似的問題。

相關問題