app/models/answer.rb in ask-0.4.1 vs app/models/answer.rb in ask-0.5.0

- old
+ new

@@ -1,19 +1,37 @@ class Answer < ActiveRecord::Base - attr_accessible :question_id, :answer, :choice_id + attr_accessible :question_id, :answer, :choice_id, :uploaded_file, :uploaded_file_cache belongs_to :answerer, :polymorphic => true belongs_to :question belongs_to :choice validates_presence_of :question_id + mount_uploader :uploaded_file, UploadedFileUploader + default_scope joins(:question).order('questions.position') scope :for_answerer, lambda{|answerer| where(:answerer_type => answerer.class.to_s, :answerer_id => answerer.id)} scope :for_question, lambda{|question| where(:question_id => question.id)} def to_s - self.answer.to_s + if question.supports_uploads? + self.uploaded_file.url + else + self.answer.to_s + end + end + + # This method is used to see if the answer fails to meat "required" status if the question is required. + # should return true on fail and nil/false on success. + def fails_required? + if question.required + if question.supports_uploads? + uploaded_file.blank? + else + answer.blank? + end + end end end