Commit af09d09a318f5339c97d24a2e5e18bbaf16a8b7b
1 parent
64564bbf
Exists in
master
and in
1 other branch
fix find_or_create_by to workaround new bug in Rails
Showing
1 changed file
with
5 additions
and
2 deletions
Show diff stats
app/models/question.rb
@@ -97,7 +97,9 @@ class Question < ActiveRecord::Base | @@ -97,7 +97,9 @@ class Question < ActiveRecord::Base | ||
97 | logger.info "inside Question#simple_random_choose_prompt" | 97 | logger.info "inside Question#simple_random_choose_prompt" |
98 | raise NotImplementedError.new("Sorry, we currently only support pairwise prompts. Rank of the prompt must be 2.") unless rank == 2 | 98 | raise NotImplementedError.new("Sorry, we currently only support pairwise prompts. Rank of the prompt must be 2.") unless rank == 2 |
99 | choice_id_array = distinct_array_of_choice_ids(:rank => rank, :only_active => true) | 99 | choice_id_array = distinct_array_of_choice_ids(:rank => rank, :only_active => true) |
100 | - prompts.find_or_create_by_left_choice_id_and_right_choice_id(choice_id_array[0], choice_id_array[1], :include => [:left_choice ,:right_choice ]) | 100 | + prompt = prompts.find_or_initialize_by_left_choice_id_and_right_choice_id(choice_id_array[0], choice_id_array[1]) |
101 | + prompt.save | ||
102 | + prompt | ||
101 | end | 103 | end |
102 | 104 | ||
103 | # adapted from ruby cookbook(2006): section 5-11 | 105 | # adapted from ruby cookbook(2006): section 5-11 |
@@ -119,7 +121,8 @@ class Question < ActiveRecord::Base | @@ -119,7 +121,8 @@ class Question < ActiveRecord::Base | ||
119 | end | 121 | end |
120 | target -= weight | 122 | target -= weight |
121 | end | 123 | end |
122 | - prompt = prompts.find_or_create_by_left_choice_id_and_right_choice_id(left_choice_id, right_choice_id, :include => [{ :left_choice => :item }, { :right_choice => :item }]) | 124 | + prompt = prompts.find_or_initialize_by_left_choice_id_and_right_choice_id(left_choice_id, right_choice_id) |
125 | + prompt.save | ||
123 | end | 126 | end |
124 | generated_prompts.push prompt | 127 | generated_prompts.push prompt |
125 | end | 128 | end |