Hlavní navigace

Vlákno názorů k článku Ruby on Rails: Úvod od Wejn - Na uvod bych rad rekl, ze ocenuji autorovu...

  • Článek je starý, nové názory již nelze přidávat.
  • 12. 11. 2005 16:08

    Wejn (neregistrovaný)

    Na uvod bych rad rekl, ze ocenuji autorovu snahu priblizit RoR "masam". Je to rozhodne zasluzna cinnost ... jen mi prijde, ze by to slo udelat s mensim mnozstvim chyb.

    Pokusim se popsat jen nektere z nich (ty do oci bijici):

    Nevim, jestli to byl autoruv zamer a nebo proste jen "prehmat", ale ten priklad se zkracovanim metod je syntakticky nespravny. I kdyz bych akceptoval, ze si autor vymyslel metodu checkbox, ktera v RoR API neexistuje (existuji dve podobne -- check_box a check_box_tag, ale obe maji uplne jinou signaturu), tak me zarazi zjevna syntakticka chyba -- pouziti lokalnich promennych (checked, size) misto symbolu (:checked, :size).

    Dalsi podivna vec je myslim informace o views. Ve view se nepouziva jen <%=, ale take <% a bylo by dobre upozornit na ten rozdil (bez = se vysledek expression nevypisuje do vystupu). Navic by nebylo od veci zminit "h" a jeho vyznam pri ochrane proti XSS.

    Dalsi velmi zavadejici informace je myslim: Kontrolér řeší logiku. V podstatě řídí posloupnost zobrazování stránek a výměnu dat mezi nimi. To je myslim uplne "mimo misu". Controller neridi posloupnost zobrazovani stranek. Controller zpracovava requesty uzivatelu, vola metody prislusnych modelu a zobrazuje vysledky volanim prislusnych views. Controller nema tuseni o nejakem "flow" mezi akcemi/strankami.

    Za drobny prohresek proti obecne uznavanemu CodingStyle bych navic povazoval i pouziti { ... } misto do ... end (v prikladu listovani zaznamu z modelu). Stejne tak pouziti "deprecated" metody find_all misto find(:all) pusobi mirne neserioznim dojmem.

  • 12. 11. 2005 18:15

    anonymní
    Dobrý den,
    pokusím se k tomu něco napsat.

    1. V úvodu jsem chtěl nastínit principy Rails, nikoli jejich konkrétní metody. Vymyslel jsem "checkbox", abych na ní demonstroval, že Ruby akceptuje jak ukecaný, tak neukecaný zápis. Že jsem u symbolů opomněl dvojtečky, je samozřejmě chyba, nicméně účel nebyla ta metoda, proto nemá podtržítko.

    2. Ke konkrétnímu použití značek <% a <%= se dostanu až v konkrétním kódu, v úvodu jsem nechtěl popisovat detaily, takže jsem jen zmínil, že značky existují.

    3. Mohl jsem to lépe formulovat, přesto bych polemizoval o tom "flow". Chápu ho osobně přesně tak, co dělá controller. Jinými slovy nevím, co jiného než controllr by v Rails řídilo "flow". Je to controller, který zareaguje na akci a podle parametrů rozhodne, co bude zobrazeno, což osobně chápu jako "flow".

    4. Příklad listování záznamů: chtěl jsem demonstrovat pouze extrahované použití modelu v nějakém skriptu, nikoli jak se takový model použije v controlleru, takže v příkladu používám pro názornost i metodu puts, která v controlleru nemá co dělat. Kdybych to nevyextrahoval, musel bych uvést, že by se plnila proměnná v controlleru a procházela by se ve view, což by, myslím, lidi, kteří Rails nikdy neviděli, pouze mátlo.

    Ale jinak díky za připomínky ;-)