Я в процессе проверки ответов на приложение для игры, которое я создаю. У меня возникают проблемы с правильным вызовом базы данных.Validating Answers
Вопрос # validate_answer
def validate_answer
@answer = Answer.where(correct: true)
@correct_answer = @answer
@selected_answer = params[:answer]
#check if the submitted answer is the correct answer
if @selected_answer == @correct_answer
render :success
else
render :error
end
end
Question.rb
class Question < ActiveRecord::Base
belongs_to :category
has_many :answers
has_one :video_clue
has_many :answers
def correct_answer
answers.find_by correct: true
end
end
Answer.haml
%form#form{:action => results_path(@question), :method => "post"}
- @answers.each do |answer|
.form-group
.radio
%input{:name => 'q_id', :type => 'hidden',:value =>'#{@question.id}'}
%input.btn.btn-default.btn-block{:name => 'answer', :style => 'vertical-align: middle; margin:0px;', :type => 'submit', :value => answer.text}
Seeds.rb
q = Question.create question: "In what year did MTV (Music Television) premiere and what was the first music video the channel aired?", category_id: 1
q.answers.create text: '1982 Michael Jackson Bille Jean'
q.answers.create text: '1984 Madonna Like a virgin'
q.answers.create text: '1981 The Buggles Video Killed The Radio Star', correct: true
Целью является сопоставление выбранного ответа с правильным ответом. Он продолжает показывать страницу с ошибкой.
Вы можете получить вопрос в ответ? Сначала вы должны задать свой вопрос в 'validate_answer'. Если вы можете задать вопрос, вы можете изменить свой '@answer = @ question.correct_answer' в' def validate_answer' – akbarbin
Я пробовал это уже и не работал –