Застрял с запросом в Rails3: получение страницы результатов после экзамена - PullRequest
0 голосов
/ 20 ноября 2010

Для места проведения экзамена, над которым я работаю, у меня есть следующие модели:

class Exam < ActiveRecord::Base
  belongs_to :user
  #has_many :categories
  has_many :questions, :through => :attempts
  has_many :attempts
end

class Attempt < ActiveRecord::Base
  belongs_to :exam
  belongs_to :question
  belongs_to :answer
  belongs_to :user
end

class Question < ActiveRecord::Base
  belongs_to  :user
  belongs_to  :category
  has_many    :answers, :dependent => :destroy
  has_many    :exams
  has_many    :attempts
end

class Category < ActiveRecord::Base
  acts_as_nested_set
  has_many :questions, :dependent => :destroy
  has_many :subcategories, :class_name => 'Category', :foreign_key => 'parent_id'
  belongs_to :parent, :class_name => 'Category', :foreign_key => 'parent_id'
end

Причина модели «попыток» заключается в том, что каждая попытка сохраняется, поэтому мы знаем, если студентменяет свой ответ позже.Таким образом, в типичной настройке: выбрана категория, начинается экзамен, выскакивают вопросы, и каждая попытка ответить на любой вопрос автоматически записывается.(все это работает .., НО :) Теперь я хотел бы увидеть результаты в следующем окне:

Цель: Получить список с вопросами, результат будет правильным или нет (последняя попытка считается):

Мой старт:

e = Exam.last
e.questions => this produces a list of questions, but how to see if these are correctly answered/not?

Как видите, я застрял довольно быстро :) Есть идеи?ТНХ!

1 Ответ

1 голос
/ 20 ноября 2010

Это должно дать вам список всех вопросов и ответ на последнюю попытку.

<% @e.questions.each do |q| %>
  <%= q.attempt.last.answer %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...