![]() |
|
|
![]()
|
|
| murgancokva |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
Привет.
Такачя проблема.. есть приложение quiz типа, вопрос-ответ короче.Сразу скажу приложение не предусматрвиает регистрациию, мне надо сделать так что я кидаю ссылку юзеру (ссылка выглядит типа как то так localhost:3000/token.. localhost:3000/jhdsffh9834yr5948h), дальше узер мог отвечать на вопрос и все. если он повторно зайдет по ссылке ничего не будетю как это реализвать? Поддталкните на мысль #мой контроллер #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 #вьюха, 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 %> |
|||
|
||||
| DeTeam |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 29.10.2009 Где: Россия, Москва Репутация: нет Всего: нет |
То, что нужно - похоже на механизм token'ов.
1. При создании записи ей сопоставляется некоторый ключ - token(можно отдельную табличку сделать) 2. При просмотре идет поиск записи по token'у, отображение и удаление token'а из базы Я бы сделал так Questions has_many Tokens (если правильно понял, что 1 token на каждый вопрос для каждого юзера) |
|||
|
||||
| murgancokva |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 23.2.2011 Репутация: нет Всего: нет |
Дадда именно это.
Согласен с вами. А такой вопрос еще как в урл вывести токен? и если неверный выдать ошибку? |
|||
|
||||
| DeTeam |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 29.10.2009 Где: Россия, Москва Репутация: нет Всего: нет |
для этого нужно сделать в routes строчку для переводу в нужный контроллер а-ля
там же добавить:
Как-то так, я бы делал |
||||
|
|||||
![]()
|
| Правила форума "Ruby on Rails" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Ruby On Rails | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |