Hay all! I have question-answer base.. like quiz, yeah? yes! So i need to do this way... my project without registration so this way i need token.. user can answer on my question only once.. How can i do this? Iand i can give him link, and link should be like : localhost:3000/token .. he gets on this link, answer and click go and that's all. If he want to get on this page once again he will get message something like "Sorry bro you already passed quiz".
#answer_controller.rb class AnsweController < ApplicationController
layout "default"
$all_questions_archive = Question.count('id') $all_questions_active = Question.find(:all,:conditions=>"enabled=1").count
def create
@w1 = rand(9999999) @w = Digest::SHA1.hexdigest(@w1.to_s)
@answers=Hash.new questions = Question.find(:all,:conditions=>"enabled=1") questions.each do |question| if params["answer_"+question.id.to_s] @answers[question.id]=params["answer_"+question.id.to_s] if !Answer.create(:question_id=>question.id,:token=>@w,:text=>params["answer_"+question.id.to_s]) flash[:error]="Can`t create answer!" end end end if !flash[:error] redirect_to :action=>"pass" return false end
end
def index
@answers=Hash.new @questions = Question.find(:all,:conditions=>"enabled=1")
end
def pass flash[:notice]="<span id='ty'>Thank you for your answers!</span>" render :text=>"", :layout=>"ty" end
#view => index.html.erb
<% form_tag :action=>"create" do %> <table border="0" width="900px" align="center" style="background:#e1e3e3; padding-top:10px;padding-left:20px;padding-right:20px;padding-bottom:20px;"> <% @questions.each_with_index do |question, index| %> <tr style="vertical-align:middle; text-align:left;"> <td width="400px" colspan="2" style="padding-top:10px;">
<span style="font-size:15px"><%= index+1 %>. <%= question.text %></span><br> <%= text_area_tag "answer_#{question.id}",@answers[question.id], :cols=>"90", :rows=>"4", :class => 'inputBox' %> </td> </tr> <% end %> </table> <table border="0" width="900px" align="center" class="table2"> <tr> <td align="right"><%= submit_tag 'Pass survey →', :class => 'submit'%></td> </tr> <tr> <%=h @w %> </tr> </table> <% end %>
What did i do wrong? Please help m,e!