Class: Qe::AnswerPagesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Qe::AnswerPagesController
- Defined in:
- app/controllers/qe/answer_pages_controller.rb
Instance Method Summary collapse
- #edit ⇒ Object
- #save_file ⇒ Object
-
#update ⇒ Object
validate and save captured data for a given page PUT /answer_sheets/1/pages/1.
Methods inherited from ApplicationController
Instance Method Details
#edit ⇒ Object
10 11 12 13 14 15 |
# File 'app/controllers/qe/answer_pages_controller.rb', line 10 def edit @elements = @presenter.questions_for_page(params[:id]).elements @page = Page.find(params[:id]) || Page.find_by_number(1) render :partial => 'qe/answer_page', :locals => { :show_first => nil } end |
#save_file ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'app/controllers/qe/answer_pages_controller.rb', line 45 def save_file if params[:Filedata] @page = Page.find(params[:id]) @presenter.active_page = @page question = Element.find(params[:question_id]) answer = Answer.find(:first, :conditions => {:answer_sheet_id => @answer_sheet.id, :question_id => question.id}) question.answers = [answer] if answer answer = question.save_file(@answer_sheet, params[:Filedata]) render :update do |page| page << <<-JS $('#attachment_field_#{question.id}_filename').html('Current File: #{link_to(answer., answer..url)}') $('#attachment_field_#{question.id}_filename').effect('highlight') JS end else respond_to do |format| format.js { head :ok } end end end |
#update ⇒ Object
validate and save captured data for a given page PUT /answer_sheets/1/pages/1
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/qe/answer_pages_controller.rb', line 19 def update @page = Page.find(params[:id]) questions = @presenter.all_questions_for_page(params[:id]) questions.post(params[:answers], @answer_sheet) questions.save @elements = questions.elements # Save references if params[:reference].present? params[:reference].each do |id, values| ref = @answer_sheet.reference_sheets.find(id) # if the email address has changed, we have to trash the old reference answers ref.attributes = values ref.save(:validate => false) end end @presenter.active_page = nil @answer_sheet.touch respond_to do |format| format.js #format.html end end |