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 | 97 | logger.info "inside Question#simple_random_choose_prompt" |
| 98 | 98 | raise NotImplementedError.new("Sorry, we currently only support pairwise prompts. Rank of the prompt must be 2.") unless rank == 2 |
| 99 | 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 | 103 | end |
| 102 | 104 | |
| 103 | 105 | # adapted from ruby cookbook(2006): section 5-11 |
| ... | ... | @@ -119,7 +121,8 @@ class Question < ActiveRecord::Base |
| 119 | 121 | end |
| 120 | 122 | target -= weight |
| 121 | 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 | 126 | end |
| 124 | 127 | generated_prompts.push prompt |
| 125 | 128 | end | ... | ... |