diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 46be2ef4..65a8f2f9 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -886,6 +886,8 @@ class AttachmentsController < ApplicationController @shixun elsif @attachment.container_type == 'Inform' @inform = @attachment.container + elsif @attachment.container_type == 'CompetitionModuleMdContent' + @md_content = @attachment.container elsif @attachment.container_type == 'Challenge' @challenge = @attachment.container elsif @attachment.container_type == 'Competition' diff --git a/app/controllers/competitions_controller.rb b/app/controllers/competitions_controller.rb index cd3a9ef6..3b438e06 100644 --- a/app/controllers/competitions_controller.rb +++ b/app/controllers/competitions_controller.rb @@ -89,7 +89,9 @@ class CompetitionsController < ApplicationController def create_md_content md_content = CompetitionModuleMdContent.find params[:md_content_id] md_content.update_attributes(params[:md_content]) - md_content.save_attachments(params[:attachments]) + attachment_ids = params[:attachments].values.map{|a| a[:attachment_id]}.compact + Attachment.where(:id => attachment_ids) + .update_all(container_id: md_content.id, container_type: 'CompetitionModuleMdContent') if attachment_ids redirect_to md_contents_competition_url(:md_content_id => md_content.id) end @@ -103,7 +105,9 @@ class CompetitionsController < ApplicationController def update_md_content md_content = CompetitionModuleMdContent.find params[:md_content_id] md_content.update_attributes(params[:md_content]) - md_content.save_attachments(params[:attachments]) + attachment_ids = params[:attachments].values.map{|a| a[:attachment_id]}.compact + Attachment.where(:id => attachment_ids) + .update_all(container_id: md_content.id, container_type: 'CompetitionModuleMdContent') if attachment_ids redirect_to md_content_competitions_path(:md_content_id => md_content.id) end