You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							1.5 KiB
						
					
					
				| class CourseModule < ApplicationRecord
 | |
|   default_scope { order("course_modules.position ASC") }
 | |
|   belongs_to :course
 | |
| 
 | |
|   # 二级目录
 | |
|   has_many :course_second_categories
 | |
| 
 | |
|   validates :module_name, length: { maximum: 20 }
 | |
| 
 | |
|   scope :not_hidden,                   -> { where(hidden: 0) }
 | |
|   scope :graduation_module,            -> { where(module_type: "graduation") }
 | |
|   scope :graduation_module_not_hidden, -> { graduation_module.where(hidden: 0) }
 | |
|   scope :board_module,                 -> { where(module_type: 'board') }
 | |
|   scope :attachment_module,            -> { includes(:course_second_categories).where(module_type: 'attachment') }
 | |
|   scope :common_homework_module,       -> { where(module_type: 'common_homework') }
 | |
|   scope :group_homework_module,        -> { where(module_type: 'group_homework') }
 | |
|   scope :shixun_homework_module,       -> { where(module_type: 'shixun_homework') }
 | |
|   scope :search_by_module_type,        -> (type) {where(module_type:type)}
 | |
| 
 | |
|   # 课堂模块的子目录
 | |
|   def course_second_categories
 | |
|     if module_type == "graduation" && CourseSecondCategory.where(course_module_id: self.id).count == 0
 | |
|       CourseSecondCategory.create!(course_module_id: self.id, course_id: self.course_id, name: "毕设选题", category_type: "graduation", position: 1)
 | |
|       CourseSecondCategory.create!(course_module_id: self.id, course_id: self.course_id, name: "毕设任务", category_type: "graduation", position: 2)
 | |
|     end
 | |
|     CourseSecondCategory.where(course_module_id: self.id)
 | |
|   end
 | |
| end
 |