diff --git a/app/controllers/polls/questions_controller.rb b/app/controllers/polls/questions_controller.rb new file mode 100644 index 000000000..bebb7ab4a --- /dev/null +++ b/app/controllers/polls/questions_controller.rb @@ -0,0 +1,17 @@ +class Polls::QuestionsController < ApplicationController + + load_and_authorize_resource :poll + load_and_authorize_resource :question, through: :poll + + def answer + partial_result = @question.partial_results.find_or_initialize_by(author: current_user, + amount: 1, + origin: 'web') + + partial_result.answer = params[:answer] + partial_result.save! + + @answers_by_question_id = {@question.id => params[:answer]} + end + +end diff --git a/spec/factories.rb b/spec/factories.rb index 219334b85..78c6241d5 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -319,6 +319,13 @@ FactoryGirl.define do valid_answers { Faker::Lorem.words(3).join(', ') } end + factory :poll_partial_result, class: 'Poll::PartialResult' do + association :question, factory: :poll_question + association :author, factory: :user + origin { 'web' } + answer { question.verified_answers.sample } + end + factory :organization do user responsible_name "Johnny Utah"