Этот вопрос относится к приложению RoR quiz. Я хочу показать результаты викторины, показывая как правильный ответ, так и ответ пользователя.Ruby on Rails: передача переменной в активный запрос записи
Поэтому, на мой взгляд, мне нужно пройти каждый вопрос и показать ответ на вопрос, а также ответ пользователя. Тем не менее, я изо всех сил пытаюсь выяснить, как правильно запросить ответ пользователя.
Чтобы запросить user_answer, мне нужен response_set, где user_id = current_user.id, и мне нужно передать в question_id, когда он проходит через каждый цикл. Тем не менее, я зациклился на том, как это сделать.
Что мне нужно сделать, чтобы показать user_answer в представлении вместе с correct_answer?
У меня есть 3 модели:
Response_set
belongs_to :user
has_many :responses
Reponse
belongs_to :response_set
belongs_to :question
Question
has_many :responses
Таблица полей:
create_table :response_sets do |t|
t.integer :user_id
create_table :responses do |t|
t.integer :response_set_id
t.integer :question_id
t.integer :user_answer
create_table :questions do |t|
t.integer :correct_answer
контроллера
@questions = Question.all
@user = current_user.id
View (просто пробегаем по вопросам и не показывая ответа пользователя)
<% @questions.each do |question| %>
<%= question.correct_answer %>
<% end %>
Это действительно неоднозначная, если вы спросите меня – Jonathan
Я думаю, что это может быть случай для названных областей, но, как Rails noob Я не могу предложить полное решение. –
У вас есть метод current_user или что-то еще? Как вы знаете, для какого пользователя показывать ответ? – Mischa