educoder/app/models/subject.rb

47 lines
1.1 KiB
Ruby

class Subject < ActiveRecord::Base
#status :0 编辑中 1 审核中 2 发布
belongs_to :user
belongs_to :course_list
belongs_to :major
attr_accessible :description, :name, :status, :visits, :user_id, :course_list_id, :major_id, :learning_notes, :introduction
has_many :stages, :dependent => :destroy, :order => "stages.id ASC"
has_many :stage_shixuns, :dependent => :destroy
def subject_choices
count = 0
self.stage_shixuns.each do |stage_shixun|
shixun = stage_shixun.shixun
count += shixun.challenges.where(:st => [1, 2]).count
end
count
end
def subject_shixuns
count = 0
self.stage_shixuns.each do |stage_shixun|
shixun = stage_shixun.shixun
count += shixun.challenges.where(:st => 0).count
end
count
end
def subject_challenges
count = 0
self.stage_shixuns.each do |stage_shixun|
shixun = stage_shixun.shixun
count += shixun.challenges.count
end
count
end
def subject_score
score = 0
self.stage_shixuns.each do |stage_shixun|
shixun = stage_shixun.shixun
score += shixun.shixun_score
end
score
end
end