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 diff --git a/app/models/competition_module_md_content.rb b/app/models/competition_module_md_content.rb index a88e892c..4653f112 100644 --- a/app/models/competition_module_md_content.rb +++ b/app/models/competition_module_md_content.rb @@ -1,6 +1,7 @@ class CompetitionModuleMdContent < ActiveRecord::Base # attr_accessible :title, :body belongs_to :competition_module + has_many :attachments, :dependent => :destroy acts_as_attachable end diff --git a/app/views/competitions/_ccf_competition.html.erb b/app/views/competitions/_ccf_competition.html.erb index 36429708..284bc1a4 100644 --- a/app/views/competitions/_ccf_competition.html.erb +++ b/app/views/competitions/_ccf_competition.html.erb @@ -11,6 +11,12 @@ 使用说明
++ <% com_module_3 = @competition.competition_modules.where(:hidden => 0, :name => '案例提交要求').first %> + 案例提交要求 +
+