I'm trying to grade a quiz application I would like to make. I have a questions model with and ask(the actual question), 4 choices(a-d), and a correct answer(string).
In the view I have the 4 question being diplayed then the correct answer choice (This is just a test for functionality) and then I created a text_field to accept the users answer choice and a button to refresh the index action which has the scoring logic, for now..
--Do I need to put the text_field within a form_tag?
<p>1. <%= h @question.q1 %></p>
<p>2. <%= h @question.q2 %></p>
<p>3. <%= h @question.q3 %></p>
<p>4. <%= h @question.q4 %></p>
<p>Answer: <%= h @question.correct %></p>
<%= text_field_tag :choice, params[:choice] %>
<%= button_to "Grade", {:controller => 'site', :action => "index"} %>
<p> <%= @answer %></p>
Heres the index controller action
def index
@question = Question.find(1)
if @question.correct == params[:choice]
@answer = 'right'
else
@answer = 'wrong'
end
end
Its not really working. The textfield is supposed to take a letter choice like 'a' or 'c' and compare it with the correct answer in the database.
I would love this to work by radiobuttons, but I'm a newbie to rails so I thought I'd take baby steps.
So if anyone can help me with how to fix this by string, or preferably by radiobuttons, I'd really appreciate it.