> А если психология, то можно вместо или вместе с правильный ставить стоимость ответа в баллах и > уже суммировать их потом.
Есть подозрение что этого варианта хватит для 90% возможных тестов, но на всякий случай я не стал ограничиваться таким алгоритмом
> PS И подумайте еще о человеке кроме вас, которому надо будет писать эти же тесты на руби.
Центральный момент — согласен. Пока вижу выход в том, чтобы готовые шаблоны для алгоритмов давать модератору с подробной инструкцией где и что надо заменить
И выбор был — либо заранее предугадать все возможные алгоритмы как ответы пользователя преобразовать в описание результата и жестко ограничить возможные алгоритмы — либо вынести это в БД
например могут быть вопросы, которые похожи друг на друга и являются проверочными и задаются с целью определить достаточно ли искренен пользователь
в общем всего сразу предусмотреть невозможно, поэтому я и выбрал такой вариант с хранением этого алгоритма в БД
А тот код, который я привел — это и есть один из МНОГИХ возможных способов как преобразовывать
ответы @answers в номер описания результата теста @t_result_number
Естественно все так и хранится в БД (ну почти так, чуть посложнее)
Поясняю — тесты по психологии
Нет там никаких «Правильный (True/False)»
Ответы собираются в отдельной таблице (которая привязана к таблице сессий прохождения теста) и по результатам всех ответов на вопросы анализируется результат
И функция преобразования ответов в результаты может быть для каждого теста различна!!!
Вот что я хотел донести, но похоже не донес
если конечно Вы прочитали пост, а не только заголовок и пару фраз из центра
Или вы подумали что я извращенец и решил просто код в БД хранить :)
Так!!!
Всем кто меня заминусовал.
Я так и не увидел ни одного нормального объяснения что не понравилось в моем подходе к решению проблемы!!!
Увидел много наездов на идею хранить ВЕСЬ код в БД.
Но мой топик был про другое, если его хоть кто-то удосужился прочитать из тех, кто ставил минусы могли бы заметить, что топик про конкретное решение конкретной задачи
MgDuke в посте ниже написал много минусов
интересно было бы и плюсы посмотреть хранения всего кода в БД, мне такая идея в голову приходила, но пока что-то плюсов особенных я не нашел
по крайней мере моя ссылка в браузере при переходе по объявлению показывается
счетчик установлен. уж не знаю на сколько корректно, но js ошибок браузер не показывает и в гугле статистика считается
но там переходы по директу записываются просто как переходы из яндекса
может сможете помочь? я бы мог прислать, как выглядят мои ссылки и мой код счетчика
сделал все по статье по варианту #4, думал что такой отчет автоматически появится в Источники трафика -> Campaigns
но там ничего не появилось. хотя ждал 3 дня
chemistry-chemists.com/Video/Fruit-battery.html
и ссылка на японскую выставку не работает
почему-то сразу вспомнилась вот эта статейка davydov.blogspot.com/2009/12/blog-post_17.html
Может не правильное с точки зрения архитектуры, но понятное с точки зрения здравого смысла (хотя он у каждого свой)
В общем это всего лишь эксперимент :) не судите строго
Есть подозрение что этого варианта хватит для 90% возможных тестов, но на всякий случай я не стал ограничиваться таким алгоритмом
> PS И подумайте еще о человеке кроме вас, которому надо будет писать эти же тесты на руби.
Центральный момент — согласен. Пока вижу выход в том, чтобы готовые шаблоны для алгоритмов давать модератору с подробной инструкцией где и что надо заменить
а сами шаблоны разрабатывать самому
например могут быть вопросы, которые похожи друг на друга и являются проверочными и задаются с целью определить достаточно ли искренен пользователь
в общем всего сразу предусмотреть невозможно, поэтому я и выбрал такой вариант с хранением этого алгоритма в БД
ответы @answers в номер описания результата теста @t_result_number
Поясняю — тесты по психологии
Нет там никаких «Правильный (True/False)»
Ответы собираются в отдельной таблице (которая привязана к таблице сессий прохождения теста) и по результатам всех ответов на вопросы анализируется результат
И функция преобразования ответов в результаты может быть для каждого теста различна!!!
Вот что я хотел донести, но похоже не донес
если конечно Вы прочитали пост, а не только заголовок и пару фраз из центра
Или вы подумали что я извращенец и решил просто код в БД хранить :)
Всем кто меня заминусовал.
Я так и не увидел ни одного нормального объяснения что не понравилось в моем подходе к решению проблемы!!!
Увидел много наездов на идею хранить ВЕСЬ код в БД.
Но мой топик был про другое, если его хоть кто-то удосужился прочитать из тех, кто ставил минусы могли бы заметить, что топик про конкретное решение конкретной задачи
интересно было бы и плюсы посмотреть хранения всего кода в БД, мне такая идея в голову приходила, но пока что-то плюсов особенных я не нашел
@hash =
{
1 => {1=>0, 2=>1},
2 => {1=>1, 2=>3},
3 => {1=>1, 2=>1},
4 => {1=>0, 2=>3},
5 => {1=>0, 2=>2},
6 => {1=>0, 2=>2},
7 => {1=>0, 2=>1},
8 => {1=>1, 2=>3},
9 => {1=>1, 2=>3},
10 => {1=>1, 2=>3}
}
s=0
@answers.each do |a|
s += @hash[a.question_number][a.variant_number]
end
if (0..7).include?(s)
@t_result_number = 1
elsif (6..12).include?(s)
@t_result_number = 2
else
@t_result_number = 3
end
я выделил весь текст после определенного места и нажал на хабракат
вставился вот такой тег <habracut/> перед выделенным текстом
почему-то по адресу seniorbart.habrahabr.ru/blog/50433/ я изменений в блоге не увидел. или эта ссылка «читать далее» еще где-то должна появиться?
и еще буду признателен за совет как этот пост перенести в «переводы» вместе с комментами