Итак, я пытаюсь выполнить цикл и добавить 1 к правилу, когда атрибут result.correct_node равен атрибуту dashboard.questions.answer.text, но по какой-то причине этот цикл не работает.Ruby on Rails Loop Has-Many отношения Не работает
Моя логика: 1. Проведите цикл по каждому вопросу, проверите все результаты, проверяя, равен ли их заданный вопросник идентификатору вопроса, если да, проверьте, одинаковы ли текст и correct_node, и добавьте 1 к правильной переменной. Затем сделайте это для каждого вопроса.
Из того, что я могу сказать, когда я отлаживаю цикл, оператор if работает неправильно, и есть общие проблемы с тем, как я это делаю.
Отношения для объекта как таковые.
На приборной панели есть много вопросов. У вопросов много ответов. Результаты имеют атрибуты questionid и correct_node.
@correct = 0
@wrong = 0
@dashboard.questions.map do |question|
@results.each do |result|
if question.id == result.questionid
question.answers.map do |answer|
if answer.text == result.correct_node
@correct = @correct + 1
else
@wrong = @wrong + 1
end
end
end
end
end
Если кто-то может позволить мне знать, как я мог бы идти о фиксации это или то, что неправильно было бы весьма признателен. Спасибо.
Добро пожаловать в переполнение стека. Пожалуйста, прочитайте «[ask]» и «[mcve]». –
Спасибо за приветствие. Если есть проблема с деталями, которые я предоставил, сообщите мне, что нужно, и я был бы более чем счастлив предоставить его. – Kevin
Отвечает ли ваш вопрос тому, что говорит документ справки, который вам нужен? Если нет, добавьте недостающую информацию. Начните с этого момента, а затем мы можем спросить, нужно ли что-то. Ваш код не тестируется, мы должны угадать, что содержат ваши переменные, независимо от того, содержат ли строки в вашей БД, что мы думаем, и т. Д. –