update für questions

This commit is contained in:
Andreas Stephanides
2015-07-31 18:32:36 +02:00
parent 8a867b72a3
commit cd5f415ca1
4 changed files with 19 additions and 29 deletions

View File

@@ -13,18 +13,21 @@ class Survey::Question < ActiveRecord::Base
end
def do_answer(choice_ids, user)
unless user.nil?
cid=choice_ids.map{|c|c.to_i}
unless cid.empty?
Survey::Answer.where(user_id: user.id, choice_id: self.choice_ids).delete_all
cid.each do |c|
if self.choice_ids.include?(c)
a=Survey::Answer.new(user_id: user.id, choice_id: c.to_i)
a.save
unless (user.nil? || choice_ids.nil? || choice_ids.empty?)
cid=choice_ids.map{|c|c.to_i}
if (Survey::Answer.where(user_id: user.id, choice_id: cid).count > 0 )
found_ids=Survey::Answer.where(user_id: user.id, choice_id: cid).includes(:choice).pluck(:choice_id)
cid= cid - found_ids
Survey::Answer.where(user_id: user.id, choice_id: found_ids).delete_all
else
Survey::Answer.where(user_id: user.id, choice_id: self.choice_ids).delete_all
end
cid.each do |c|
if self.choice_ids.include?(c)
a=Survey::Answer.new(user_id: user.id, choice_id: c.to_i)
a.save
end
end
end
end
end
end
end