diff --git a/app/views/item_banks/_item.json.jbuilder b/app/views/item_banks/_item.json.jbuilder new file mode 100644 index 000000000..21c61b1e2 --- /dev/null +++ b/app/views/item_banks/_item.json.jbuilder @@ -0,0 +1,6 @@ +json.(item, :id, :name, :item_type, :difficulty, :public, :quotes) +json.analysis item.analysis +json.choices item.item_choices do |choice| + json.choice_text choice.choice_text + json.is_answer choice.is_answer +end \ No newline at end of file diff --git a/app/views/item_banks/index.json.jbuilder b/app/views/item_banks/index.json.jbuilder index 5b965c362..9ba3380d8 100644 --- a/app/views/item_banks/index.json.jbuilder +++ b/app/views/item_banks/index.json.jbuilder @@ -1,14 +1,9 @@ json.items @items.each do |item| - json.(item, :id, :name, :item_type, :difficulty, :public, :quotes) - json.analysis item.analysis + json.partial! "item_banks/item", locals: {item: item} json.update_time item.updated_at&.strftime("%Y-%m-%d %H:%M") json.author do json.login item.user&.login json.name item.user&.full_name end - json.choices item.item_choices do |choice| - json.choice_text choice.choice_text - json.is_answer choice.is_answer - end end json.items_count @items_count \ No newline at end of file diff --git a/app/views/item_baskets/index.json.jbuilder b/app/views/item_baskets/index.json.jbuilder index 0458f38ae..a0f78fe41 100644 --- a/app/views/item_baskets/index.json.jbuilder +++ b/app/views/item_baskets/index.json.jbuilder @@ -1 +1,38 @@ -josn.single_questions \ No newline at end of file +json.single_questions do + json.questions @single_questions.each do |question| + json.(question, :id, :position, :score, :item_type) + json.partial! "item_banks/item", locals: {item: question.item_bank} + end + json.questions_score @single_questions.map(&:score).sum + json.questions_count @single_questions.size +end + +json.multiple_questions do + json.questions @multiple_questions.each do |question| + json.(question, :id, :position, :score, :item_type) + json.partial! "item_banks/item", locals: {item: question.item_bank} + end + json.questions_score @multiple_questions.map(&:score).sum + json.questions_count @multiple_questions.size +end + +json.judgement_questions do + json.questions @judgement_questions.each do |question| + json.(question, :id, :position, :score, :item_type) + json.partial! "item_banks/item", locals: {item: question.item_bank} + end + json.questions_score @judgement_questions.map(&:score).sum + json.questions_count @judgement_questions.size +end + +json.program_questions do + json.questions @program_questions.each do |question| + json.(question, :id, :position, :score, :item_type) + json.partial! "item_banks/item", locals: {item: question.item_bank} + end + json.questions_score @program_questions.map(&:score).sum + json.questions_count @program_questions.size +end + +json.all_score @item_baskets.map(&:score).sum +json.all_questions_count @item_baskets.size \ No newline at end of file