Większość dzisiejszego dnia zajęło mi pisanie kolejnych testów do walidacji modeli oraz pisanie migracji.
Migracje przysporzyły mi trochę mindfucka – a konkretnie relacja 1 do 1 pomiędzy adresami a parkingami i utworzenie odpowiednich kluczy. Problem polegał na tym, że się zamotałam, gdzie powinien być klucz obcy i w pewnym momencie miałam klucze linkujące do siebie nawzajem w obu modelach będących ze sobą w relacji. Dwójka mentorów stwierdziła, że nie powinno to przeszkadzać, ale przyszedł senior i rzekł, że jednak robi bubu. Po usunięciu nadmiarowego klucza stała się magia : )
Dalsze testy to już pikuś – najtrudniejszy z nich dotyczył walidacji kodu pocztowego. Musiałam do walidacji tegoż stworzyć regexpa, ale to już umiem po edX i dzięki Rubularowi : )
W końcu, koło 15 zabrałam się za kolejne zadania – wchodzimy już w kontrolery i widoki, coś, co dla mnie zawsze było czarną magią. Ale z pomocą guidesów i materiałów z internalowych warsztatów w netguru – udało się stworzyć stronę startową z wszystkimi parkingami (tutaj zapoznałam się z zagadnieniem n+1 zapytań), potem stronę konkretnego parkingu. Żeby łatwiej mi się tam wszystko oglądało, stworzyłam sobie nawet seedy : )
Zabawa zaczęła się przy formularzu do tworzenia nowych parkingów. Trochę wyskoczyłam naprzód (bo nie doczytałam zadania do końca :trollface: ) i stworzyłam formularz z wszystkimi polami – bo przy tworzeniu parkingu trzeba by tworzyć także obiekt klasy adresu i jeszcze ownera, a tu z kolei pojawia się problem nested attributes i strong parameters. To więc zostawiłam sobie już na później, natomiast chciałam chociaż ogarnąć do końca to jedno zadanie i napisać wyświetlanie błędów walidacji przy próbie wysłania formularza.
Po kilku godzinach (dopiero koło 22 się poddałam) poległam i zadowoliłam się wyświetlaniem listy wszystkich błędów bez żadnego formatowania na samej górze formularza (zdefiniowane w kontrolerze ;/). Według guidesów zaś powinnam móc stworzyć sobie taką listę z ładnym formatowaniem przez zdefiniowanie w widoku + jeszcze wyświetlać błędy przy odpowiednich polach, ale za cholerę nie chciało się, no ;/ Próbowałam nawet jakiegoś gema helpera ze starszych guidesów, ale też dupa. Nawet patrzyłam w inne projekty, ale tam właściwie w ogóle nie widziałam żadnych definicji błędów 😀
Doszłam więc do wniosku, że dzisiaj już nic nie wymyślę (chociaż spać mi się nie chce, bo nie daje mi to spokoju : |) i zajmę się tym jutro.
Trzeba przyznać, że dzisiaj poziom ekscytacji znacznie mi skoczył – cieszę się jak dziecko, jak w końcu coś mi się pokaże i nie wywali mi błędu – magia : D