Created
May 6, 2019 18:52
-
-
Save filinivan/4aefeb361550acf0e5942777dac48e6f to your computer and use it in GitHub Desktop.
Проверка слова в a1.app
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Варвара, [06.05.19 17:39] | |
А в get запросе есть порядок какой то, какое слово выдавать или рандомно? И нужно, чтобы пользователь видел правильный ответ или только true/false? Не совсем понятно что значит теряется. | |
Ivan FIlin, [06.05.19 17:48] | |
[In reply to Варвара] | |
В обработчике get запроса при создании переменной (сущности) выбирается одна запись из базы данных (рандомно). В этой переменной содержится слово и перевод. | |
Пользователь не должен видеть правильный ответ. Я планировал далее сравнивать в обработчике post запроса ответ пользователя с правильным ответом и выводить соответствующее сообщение. | |
Насколько я понял переменная в которой я передаю выбранные из базы данных данные доступна для erb файла.. но уже не доступна при обработке post запроса в app.rb | |
Ivan FIlin, [06.05.19 17:50] | |
[In reply to Варвара] | |
[ Photo ] | |
Получаю такую ошибку | |
Fedor Koshel, [06.05.19 17:51] | |
[In reply to Ivan FIlin] | |
одной из переменных нет | |
Roman, [06.05.19 17:51] | |
[In reply to Ivan FIlin] | |
значит что вместо обьекта у тебя нил приходит, ставь дебагер и смотри почему так | |
Fedor Koshel, [06.05.19 17:51] | |
либо @answer либо @words | |
Fedor Koshel, [06.05.19 17:52] | |
проще всего воткнуть перед этой строкой binding.pry и посмотреть что они из себя представляют в момент выполнения | |
Roman, [06.05.19 17:52] | |
скорее всего обьект просто не создан или не найден | |
Fedor Koshel, [06.05.19 17:52] | |
https://github.com/pry/pry | |
Roman, [06.05.19 17:53] | |
[In reply to Fedor Koshel] | |
pry или byebug - что выбрать чтобы быть трушным программистом? | |
Roman, [06.05.19 17:53] | |
[ 😀 Sticker ] | |
tql, [06.05.19 17:53] | |
[In reply to Roman] | |
Puts | |
Ivan FIlin, [06.05.19 17:53] | |
Он не видит @words. Как правильно поступить в этой ситуации? Я создаю в get обработчике @words - передаю в erb. Далее пользователь пишет свой ответ и передает post обработчику. И тут уже @words не существует.. видимо затерается сборщиком мусора. | |
Иван, [06.05.19 17:54] | |
[In reply to Ivan FIlin] | |
ну в пост передавай id этой записи и дергай из базы | |
Roman, [06.05.19 17:54] | |
[In reply to Ivan FIlin] | |
в create поставь pry и смотри что у тебя в параметры сетится, ну емана) | |
Ivan FIlin, [06.05.19 17:54] | |
Ок. Понял. Сейчас этим путем попробую пойти. Спасибо. | |
Иван, [06.05.19 17:54] | |
[In reply to Ivan FIlin] | |
сборщик тут не причем, это 2 разных запроса | |
Roman, [06.05.19 17:55] | |
а лучше на выходе из create посомтри что у тебя получается | |
Ivan FIlin, [06.05.19 17:56] | |
[In reply to Иван] | |
id записи в форму как-то подставить? Что бы с параметрами поймать в обработчике post запроса? | |
Варвара, [06.05.19 18:01] | |
А как изначально @words выглядела с англ и рус словом? Если в одной переменной содержится слово и перевод, то сравнивая с ответом надо указать либо точно место с переводом, либо в ответ добавлять рус слово. Получается сравниваете @words (два слова) с @answer (одно слово) | |
Иван, [06.05.19 18:02] | |
[In reply to Ivan FIlin] | |
либо в форму, либо можешь слать запрос на /learn/id | |
Fedor Koshel, [06.05.19 18:03] | |
[In reply to Ivan FIlin] | |
Надо понимать что период работы твое приложения - это один запрос. Следующий запрос начинается и обрабатывается с нуля и ничего не знает о том, что было раньше | |
Fedor Koshel, [06.05.19 18:04] | |
можно сохранить данные в сессию, куки, бд, редис и потом доставать каждый раз, но в твоем случае проще добавить вопрос в форму ответа | |
Ivan FIlin, [06.05.19 18:04] | |
Спасибо за ответы. Вечером постараюсь разобраться с этой задачей. | |
Fedor Koshel, [06.05.19 18:04] | |
тоесть в erb можно сделать hidden поле и просто туда записать вопрос | |
Fedor Koshel, [06.05.19 18:04] | |
тогда при отправке формы тебе в параметрах придет и вопрос и ответ | |
Ivan FIlin, [06.05.19 18:05] | |
[In reply to Fedor Koshel] | |
Наверно это "не тру" способ? Выглядит как "костыль".... Для моего случая конечно пойдет.. | |
Fedor Koshel, [06.05.19 18:05] | |
[In reply to Ivan FIlin] | |
почему? | |
Fedor Koshel, [06.05.19 18:06] | |
вполне стандартный | |
Fedor Koshel, [06.05.19 18:06] | |
другой вариант - создать можель теста и сохранить в базу данных для конкретного пользователя | |
Ivan FIlin, [06.05.19 18:06] | |
Хмм.. Обязательно попробую сегодня и этот способ. Спасибо, товарищи! | |
Fedor Koshel, [06.05.19 18:06] | |
потом при получении ответа доставать по id из базы данных и сравнивать |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment