diff --git a/app/controllers/prompts_controller.rb b/app/controllers/prompts_controller.rb index 900025a..a4532aa 100644 --- a/app/controllers/prompts_controller.rb +++ b/app/controllers/prompts_controller.rb @@ -49,8 +49,11 @@ class PromptsController < InheritedResources::Base authenticate logger.info "#{current_user.inspect} is voting #{direction} at #{Time.now}." + p = params[:click].except(:sid).merge(:visitor_id => current_user.visitors.find_or_create_by_identifier(params[:click][:sid]).id) + @question = Question.find(params[:question_id]) @prompt = @question.prompts.find(params[:id]) + case direction when :left successful = c = current_user.record_vote(params['params']['auto'], @prompt, 0) diff --git a/app/models/user.rb b/app/models/user.rb index 72e0ab4..637b8ff 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -30,6 +30,8 @@ class User < ActiveRecord::Base end def record_vote(visitor_identifier, prompt, ordinality) + @click = Click.new(:what_was_clicked => 'on the API level, inside record_vote' + " with prompt id #{prompt.id}, ordinality #{ordinality.to_s}") + @click.save! visitor = visitors.find_or_create_by_identifier(visitor_identifier) visitor.vote_for!(prompt, ordinality) #prompt.choices.each {|c| c.compute_score; c.save!} diff --git a/app/models/visitor.rb b/app/models/visitor.rb index 66932bd..16f7a7e 100644 --- a/app/models/visitor.rb +++ b/app/models/visitor.rb @@ -21,10 +21,12 @@ class Visitor < ActiveRecord::Base choices = prompt.choices choice = choices[ordinality] #we need to guarantee that the choices are in the right order (by position) prompt_vote = votes.create!(:voteable => prompt) - logger.info "Visitor: #{self.inspect} voted for Prompt: #{prompt.inspect}" + logger.info "Visitor: voted for Prompt: #{prompt.id.to_s}" + @click = Click.new(:what_was_clicked => "on the API level, inside visitor#vote_for! with prompt id #{prompt.id}, ordinality #{ordinality.to_s}, choice: #{choice.item.data} (id: #{choice.id})") + @click.save! choice_vote = votes.create!(:voteable => choice) - logger.info "Visitor: #{self.inspect} voted for Choice: #{choice.inspect}" + logger.info "Visitor: voted for Prompt: #{prompt.id.to_s} for choice #{choice.item.data}" choice.save! choice.score = choice.compute_score logger.info "Just computed the score for that choice and it's apparently #{choice.score}" -- libgit2 0.21.2