Commit a511fe4bce2841753b3d3a7f5077516fc23b27b8

Authored by Luke Baker
1 parent 5d15fae2

get choice prompts_on_the_left/right counter caches working

Showing 2 changed files with 17 additions and 3 deletions   Show diff stats
app/models/prompt.rb
... ... @@ -7,8 +7,8 @@ class Prompt < ActiveRecord::Base
7 7  
8 8  
9 9 belongs_to :question, :counter_cache => true
10   - belongs_to :left_choice, :class_name => "Choice", :foreign_key => "left_choice_id", :counter_cache => true
11   - belongs_to :right_choice, :class_name => "Choice", :foreign_key => "right_choice_id", :counter_cache => true
  10 + belongs_to :left_choice, :class_name => "Choice", :foreign_key => "left_choice_id", :counter_cache => :prompts_on_the_left_count
  11 + belongs_to :right_choice, :class_name => "Choice", :foreign_key => "right_choice_id", :counter_cache => :prompts_on_the_right_count
12 12  
13 13 validates_presence_of :left_choice, :on => :create, :message => "can't be blank"
14 14 validates_presence_of :right_choice, :on => :create, :message => "can't be blank"
... ...
lib/tasks/test_api.rake
1 1 namespace :test_api do
2 2  
3   - desc "Updates cached values for losses and wins for for choices."
  3 + desc "Updates cached values for losses and wins for choices."
4 4 task :update_cached_losses_wins => :environment do
5 5 Question.all.each do |question|
6 6 question.choices.each do |choice|
... ... @@ -17,6 +17,20 @@ namespace :test_api do
17 17 end
18 18 end
19 19  
  20 + desc "Update cached values for prompts on left and right for choices."
  21 + task :update_cahced_prompts_on_left_right => :environment do
  22 + Question.all.each do |question|
  23 + question.choices.each do |choice|
  24 + choice.reload
  25 + choice.prompts_on_the_left
  26 + choice.prompts_on_the_right
  27 + Choice.update_counters choice.id,
  28 + :prompts_on_the_left_count => choice.prompts_on_the_left.count,
  29 + :prompts_on_the_right_count => choice.prompts_on_the_right.count
  30 + end
  31 + end
  32 + end
  33 +
20 34 desc "Recomputes scores for all choices."
21 35 task :recompute_scores => :environment do
22 36 Choice.find_each do |choice|
... ...