Tegnap egy átlagos fejlesztői nap volt, teli kihívásokkal. Még tegnap előtt este kezdődött amikor a lighthouson a formázó helper linkre hiba oldal jött be. Nade tegnap reggel belevgátam magam.
Reggel már működött a formázó helper így kezdtem a napot egy rails-es hiba bemutatásával. Persze nem úgy jelent meg a kódom ahogy szerettem volna, összecsúszott az egész.
Aztán elkezdtem egy ajaxos regisztrációs felület megvalósítását. A design tervhez leginkább a fancybox hasonlított, így amellett döntöttem. Neki is fogtam a testreszabásához. Kezdve ott hogy fix szélességgel magassággal dolgozik. Ez elvileg customizálható de nekem arra egy nagy semmi jelent meg ha én adtam meg értékeket. Na mondom mi? Megadtam erre csak a szélességet, erre akkor meg egy vertikális vonal jelent meg. Na elkezdtem debuggolni. Egyrészt magasság nem adható meg %ban mert hosszácsapja kódban a ‘px’-et, szélességnél meg kiderült hogy string megadással bugos így integer lett belőle. Kis okoskodás még a bezáró X-el. Nézni miért mozgatja scrollázáskor a boxot. Ezt is elkezdtem debuggolni de nem találtam meg hol csinálja. Na erre látom ez is inicializálásnál beállítható. Így már könnyebb volt megnézni hogy amúgy ezt hol kezeli kódban, csakhogy ott próbáltam console.log-os megoldást de nekem nem jelezett semmit firebug. De úgy látszik akkor mégse próbáltam ott. Na fancybox testreszabva, jöhet bele a tartalom generálás.
Csakhogy a tesztszöveg után amikor már render-t használtam volna nem jelent meg benne semmi. Hibát meg nem jelzett hogy nem találja a renderelendő filet. Na ezt is debug. Az erb-el parsolt js fileban lenne egy renderelés és vmiért nem jó. Ha ugyanazt a renderelést controllerből csináltam úgy belekerült. Gondoltam hogy valószínüleg ott lehet baj hogy egy js fileból egy haml file-t rendereltetek, de azért nem hiszem hogy tényleg emiatt lenne bibi, merthogy a vicc az, hogy ha megváltoztattam az amúgy controllernél működő renderelést partial-ös renderelésre akkor már ment js fileból is, ja és a partial ugyancsak haml file. (amúgy render :action=>:new volt ami nem ment jsből) * update
Na végre lehet regisztrálni, bár ekkor minden féle hibaüzenet jelent meg ha nem adtam meg semmit. Ezek az autentikáláshoz használt authlogic alap beállításai. Nekem ebből csak egy nem kellett de azt elég tricky volt kiszedni (nevezetesen a login névre nem akartam karakter megkötéseket, erre ilyet kellett belőnőm: c.validates_format_of_login_field_options(:with=>//) Mertha azt adtam ennek hogy nil, vagy false vagy üres hash azokkal mind nem volt jó. Kilőni tehát nem lehetett csak így hogy megadtam neki egy ilyen teszt regexpet.
Na működik rendesen regisztrálás, aktiválhatjuk mostmár a levélben kapott linkel. Amit használok progit az egy kezdő appból lett építve, és abban már volt egy kész megoldás emailes aktiválásra. Csakhogy az még régebbi authlogical ment. Újnál jelzett hogy a create_session! az nem létezik. Gúgli. Kb semmi találat erre. Böngészés minden felé mások hogy aktiválnak authlogic-al. Hát nem sok ilyen van. Néztem authlogic kódját ott egy sima create_session van csak. Hát akkor legyen az. Úgy már ment. Hállelujja.
Ja nem hállelúja merthogy aktiválásnál lévő layoutot nem használja. Hiába adom meg layout függvénnyel semmi. Kell még mellé a rendereléshez a layout => true. Aztán ezt is kidebuggoltam, legalábbis rákerestem neten. A lényeg hogy hiába van másik helyen a view akkor is úgymond relatív útvonalat kell megadni, mert ha /-el kezdjük az útvonal megadást akkor azt már konkrét file-nak veszi és ott alapba ki van lőve a layout használata.
Na azért jó dolog is volt tegnap. Finom beacon szalonnával aládúcolt tepsis hús ebédre. Na az jó volt, meg utána egy pohár borocska. Ja meg láttam hogy van itthon ilyen nagy üvegben két literes borunk. Na az már rendes falusi adag. Annak a látványától is jó kedvem lett.
Update:
Közben arra jutottam hogy ez valószínűleg amiatt van mert helperből és view-ből csak partial renderelhető. Bár ez nincs elég jól dokumentálva.