diff --git a/app/models/question.rb b/app/models/question.rb index 9939b1d..f8cb48a 100644 --- a/app/models/question.rb +++ b/app/models/question.rb @@ -29,7 +29,7 @@ class Question < ActiveRecord::Base def picked_prompt(rank = 2) raise NotImplementedError.new("Sorry, we currently only support pairwise prompts. Rank of the prompt must be 2.") unless rank == 2 choice_id_array = distinct_array_of_choice_ids(rank) - @p = prompts.find_or_create_by_left_choice_id_and_right_choice_id(choice_id_array[0], choice_id_array[1], :include => [{ :left_choice => :item }, { :right_choice => :item }]) + @p ||= prompts.find_or_create_by_left_choice_id_and_right_choice_id(choice_id_array[0], choice_id_array[1], :include => [{ :left_choice => :item }, { :right_choice => :item }]) end memoize :picked_prompt @@ -48,12 +48,10 @@ class Question < ActiveRecord::Base end def left_choice_text(prompt = nil) - prompt ||= prompts.first#prompts.pick picked_prompt.left_choice.item.data end def right_choice_text(prompt = nil) - prompt ||= prompts.first picked_prompt.right_choice.item.data end diff --git a/db/migrate/20091219054212_create_more_prompt_indexes.rb b/db/migrate/20091219054212_create_more_prompt_indexes.rb new file mode 100644 index 0000000..98e420e --- /dev/null +++ b/db/migrate/20091219054212_create_more_prompt_indexes.rb @@ -0,0 +1,9 @@ +class CreateMorePromptIndexes < ActiveRecord::Migration + def self.up + add_index :prompts, [:left_choice_id, :right_choice_id, :question_id] + end + + def self.down + remove_index :prompts, [:left_choice_id, :right_choice_id, :question_id] + end +end -- libgit2 0.21.2