jam231 / Quizzer

Ruby on Rails web application for managing study groups.
0 stars 0 forks source link

Quizy #3

Closed kaiks closed 11 years ago

kaiks commented 11 years ago

Obecnie bawię się z tym co się dzieje kiedy chcemy wyświetlić identyczną stronę jak poprzednio, tylko że z punktacją

W tym celu fajnie byłoby wyświetlać taką samą stronę. Jednocześnie kolejność wyświetlania pytań np. jest losowa. Pytanie jak zachować stan po przyciśnięciu przycisku "wyslij"

Okazuje się że nie można (lub ja nie wiem jak) po prostu zmodyfikować strony dodając jakieś cyferki przy pytaniach bo strona jest za każdym razem tworzona na nowo

W związku z tym pozostaje kombinować z innymi sposobami przekazywania informacji

Pierwszy jaki mi przychodzi do głowy to informacja o całym zestawie w hashu "params" który jest przekazywany między funkcjami kontrolera na przykład.

Drugi to zachowywanie informacji nt. zestawu w cookies, który byłby resetowany w pewnych okolicznościach.

Ten drugi jest być może o tyle lepszy że sobie ktoś nie będzie mógł wciskać F5 i czekać na pomyślny zestaw, ale nie wiem. Myślę nad tym od trzech godzin i nie potrafię nic sensownego wymyśleć. Uwagi mile widziane.

kaiks commented 11 years ago

A co do tego nad czym pracuję etc: właśnie nad tym, czyli w takiej kolejności

dalszy plan pracy jest nieustalony

jam231 commented 11 years ago

Co do zachowania kolejności pytań - sortuj po id_pyt ;-)

kaiks commented 11 years ago

miałem na myśli odpowiedzi, pytania nie są akurat losowo wyświetlane :p ach to pisanie o 2 w nocy

jam231 commented 11 years ago

Rozumiem, ze nie masz problemu z pamietaniem (bez kolejnosci, tylko ktore to) wylosowanych odpowiedzi wzorcowych ? Jezeli zawsze potrafisz znalezc odpowiedzi dla danego pytania, dla danego podejscia do quizu, a jedynym problemem jest odtworzenie kolejnosci tych odpowiedzi, to nadaj porzadek sortujac po id odpowiedzi.

Feature w postaci losowej kolejnosci odpowiedzi dla kazdego podejscia do quizu jest gra nie warta swieczki.

kaiks commented 11 years ago

miałem problem z pamiętaniem czegokolwiek, w szczególności z taką sytuacją: do pytania jest 10 odpowiedzi, przy czym pytanie jest typu "4 odpowiedzi są wyświetlane", użytkownik zaznacza jedną z nich, skąd odtworzyć pozostałe 3

zapamiętuje to w zmiennej sesji (session) i to mnie nic nie kosztuje więc nie wiem dlaczego to nie jest warte świeczki wg Ciebie

jam231 commented 11 years ago

Jak zamierzasz obsluzyc sytuacje, w ktorej uzytkownik sie wyloguje (wtedy sie traci tresc session, nie ?), nastepnie sie zaloguje i bedzie chcial obejrzec swoj oceniony quiz ?

kaiks commented 11 years ago

nie rozumiem. jaki serwis zezwala na sprawdzenie jakichkolwiek danych użytkownika po jego wylogowaniu?

treść session sie chyba wtedy nie traci (przecież nie mamy żadnego logowania), ale w "zdrowych" warunkach z tego co wiem takie dane lokalne dla strony są przypisane w session[:user], nie w session po prostu, a :user jest ustawiane po zalogowaniu.

jam231 commented 11 years ago

ad 1 linijka: What :o ? Jak sie to odnosi do wczesniejszej wiadomosci ?

No dobra, ale mamy miec logowanie, i ja sie zgadam, ze te dane bylyby w session[:user], tylko, ze po wylogowaniu session[:user] powinno byc czyszczone.

No mniejsza z tym, czas nas goni i jak zrobisz tak, zeby dzialalo to bede zadowolony.

kaiks commented 11 years ago

Mam jakąś taką przypadłość że nie potrafię czytać dokładnie Twoich wiadomości na githubie. Nie wiem jak rozwiążę ten problem na obecną chwilę. Być może po prostu wyświetlę tylko zaznaczone odpowiedzi z bazy i tyle

kaiks commented 11 years ago

Trochę nie słychać co się u mnie dzieje, ale to nie znaczy, że nic się nie dzieje

Właśnie mi zaczęło działać dodawanie odpowiedzi do bazy danych, zaznaczonych i nie (okazało się że mamy boola zaznaczona w odpowiedz_uzytkownika i możemy przesyłać wszystkie informacje)

działa (prawie) też wyświetlanie po submicie ale to już pisałem wcześniej chyba

w submicie przesyłam wszystko prawie przez params i ogólnie to średnio ładnie te URLe wyglądają

http://localhost:3000/quiz?authenticity_token=%2BMmLC8dOpnkFI62hUyaCLlWpX6knSNwUMHmkethod98%3D&commit=Wyslij&controller=quiz&date_submitted=2013-06-23+21%3A50%3A45+%2B0200&id=1&odpowiedzi[1][]=B&odpowiedzi[2][]=DD&odpowiedzi[3]=&utf8=%E2%9C%93

no ale cóż...

nie mam jeszcze wstawiania tekstu do pól otwartych po submicie są małe problemy techniczne z liczeniem punktów które zaraz będę rozwiązywał :p

jak to rozwiążę to wyświetlanie i wysyłanie do quizu będzie dobrze robione z tego co widzę potem będę robił modyfikację quizu ale to chyba grubsza sprawa będzie potem uaktualnianie rankingów

kaiks commented 11 years ago

Zrobiłem i commitnąłem prymitywne (polityczniej: prototypowe) wysyłanie i wyświetlanie punktów

Już dziś nie dodam kolejnych funkcjonalności:

Natomiast rano postaram się zacząć nad tym pracować.

submit Powyżej: ekran po wciśnięciu wyslij (abc jest w bazie odpowiedzią w pełni poprawną)

kaiks commented 11 years ago

Zgodnie z wczorajszymi zapowiedziami, zrobiłem resetowanie informacji sesji (ale jeszcze nie commitowałem)

Trochę pracuję nad edycją: edit

kaiks commented 11 years ago

Idzie mi to jak krew z nosa. Ciężko mi się dziś myśli. Chyba do railsów trzeba mieć trzy monitory.

Dorobiłem dziś wyświetlanie komentarzy przy odpowiedziach po wypełnieniu quizu oraz zaczęła mi działać edycja pytań, natomiast po próbie dodania opcji usuwania zaczęło się dziać tak, że zapisanie powoduje usuwanie :p nad tym teraz siedzę

następne co będę robił to dodawanie nowych odpowiedzi i pytań (potem: quizów), jakaś prosta walidacja (jeśli typ pytania określa minimum 5 odpowiedzi, to jeśli są 3, nie pozwól na zapisane, czy coś)

wtedy myślę że już będzie w miarę zrobione to co chciałem, potem jest kwestia grup i rankingów, które nie wiem (=wątpie) czy zdążymy i może uciułamy te 1/3pkt z projektu niezbędne na zaliczenie :eyes:

Jak starczy jeszcze czasu (na 99% nie) to dodam dyskusje

opisane powyżej zmiany nie są nigdzie commitowane

kaiks commented 11 years ago

tamten problem rozwiązałem, pozostaje mi dodawanie nowych pytań, 10-20 minut, i będzie można mergować