未答题的学生测验分数为0
This commit is contained in:
parent
f7a932d7b9
commit
fa4a2eb0dd
|
@ -1,8 +1,10 @@
|
||||||
class ExerciseController < ApplicationController
|
class ExerciseController < ApplicationController
|
||||||
layout "base_courses"
|
layout "base_courses"
|
||||||
|
|
||||||
before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit, :update, :show, :destroy, :commit_exercise, :commit_answer,:publish_exercise,:republish_exercise,:show_student_result]
|
before_filter :find_exercise_and_course, :only => [:create_exercise_question, :edit, :update, :show, :destroy,
|
||||||
before_filter :find_course, :only => [:index,:new,:create,:student_exercise_list]
|
:commit_exercise, :commit_answer,:publish_exercise,:republish_exercise,
|
||||||
|
:show_student_result,:student_exercise_list]
|
||||||
|
before_filter :find_course, :only => [:index,:new,:create]
|
||||||
include ExerciseHelper
|
include ExerciseHelper
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
@ -354,8 +356,18 @@ class ExerciseController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def student_exercise_list
|
def student_exercise_list
|
||||||
|
if @exercise.end_time <= Time.now
|
||||||
|
@course.student.each do |student|
|
||||||
|
if ExerciseUser.where("user_id = ? && exercise_id = ?",student.student_id,@exercise.id).empty?
|
||||||
|
ExerciseUser.create(:user_id => student.student_id, :exercise_id => @exercise.id, :start_at => @exercise.end_time, :status => false,:score=>0)
|
||||||
|
end
|
||||||
|
|
||||||
|
s_score = calculate_student_score(@exercise, student.student)
|
||||||
|
exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", student.student_id, @exercise.id).first
|
||||||
|
exercise_user.update_attributes(:score => s_score)
|
||||||
|
end
|
||||||
|
end
|
||||||
@is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
|
@is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
|
||||||
@exercise = Exercise.find params[:id]
|
|
||||||
@all_exercises = @course.exercises.where("exercise_status > 1").order("created_at desc")
|
@all_exercises = @course.exercises.where("exercise_status > 1").order("created_at desc")
|
||||||
@exercise_count = @exercise.exercise_users.where('score is not NULL').count
|
@exercise_count = @exercise.exercise_users.where('score is not NULL').count
|
||||||
if @is_teacher || (!@exercise.exercise_users.where(:user_id => User.current.id).empty? && @exercise.end_time <= Time.now)
|
if @is_teacher || (!@exercise.exercise_users.where(:user_id => User.current.id).empty? && @exercise.end_time <= Time.now)
|
||||||
|
@ -543,11 +555,11 @@ class ExerciseController < ApplicationController
|
||||||
def show_student_result
|
def show_student_result
|
||||||
@user = User.find params[:user_id]
|
@user = User.find params[:user_id]
|
||||||
@can_edit_excercise = false
|
@can_edit_excercise = false
|
||||||
@exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", @user.id, @exercise.id).first
|
|
||||||
@exercise_questions = @exercise.exercise_questions
|
@exercise_questions = @exercise.exercise_questions
|
||||||
score = calculate_student_score(@exercise, @user)
|
score = calculate_student_score(@exercise, @user)
|
||||||
eu = get_exercise_user(@exercise.id, @user.id)
|
eu = get_exercise_user(@exercise.id, @user.id)
|
||||||
eu.update_attributes(:score => score)
|
eu.update_attributes(:score => score)
|
||||||
|
@exercise_user = ExerciseUser.where("user_id =? and exercise_id=?", @user.id, @exercise.id).first
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {render :layout => 'base_courses'}
|
format.html {render :layout => 'base_courses'}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue