Mustache + Haml; Mustache + JavaScript + Railsy

Mam dwa pytania, jedno i drugie dotyczy mustache więc są w jednym topicu:

  1. Czy Mustache + Haml to dobre rozwiązanie ? (tutaj jest wzmianka o tym http://ozmm.org/posts/haml___mustache.html, tutaj http://stackoverflow.com/questions/8807407/foo-mustache-haml-templates jest lekkie wyjaśnienie jak tego używać
    Wg mnie podejście wygląda ciekawie, jednak obecne gemy, które są nie do końca mi pasują, bo nagle w folderze view pojawiają się pliki rb tylko poto, żeby przygotować zmienne. Czy taka operacja nie mogłaby się odbywać w helperach ?

  2. Mam szablon mustache w public/…/… (mustache z html’em) ponieważ używa go bibliteka jquery.mustache. Pojawiła się jednak konieczność z korzystania z tego szablonu również po stronie Railsów. Możecie podsunąć wskazówkę jak za pomocą Railsów wczytać szablon mustache z folderu public i wyświetlić go jako partial ? Czy jest na to jakieś prostsze rozwiązanie ? Wolałbym uniknąć czegoś takiego, że mustache umieszczam w app dla Railsów a dla JSa generuje (z pliku .mustache) szablon w pliku .js.

EDIT:

Na drugie pytanie znalazłem już następujące rozwiązanie: z gema mustache wpisałem w widoku polecenie (w hamlu)

= ::Mustache.render_file(filename, data).html_safe

Jak używasz czegoś takiego jak mustache, to przydałyby Ci się “widoki” w trochę innym znaczeniu tego słowa niż w railsach, tzn. obiekt, którego używasz żeby wyświetlić odpowiednie wartości. Zobacz sobie na frameworki javascriptowe (ember, backbone) i zobacz jak wyglądają tam widoki. To co jest w railsach przy takim podejściu bardziej powinno nazywać się template.

No ok rozumiem, i po dłuższym zastanowieniu to ma sens. Ale czy dobrze jest wtedy umieszczać pliki rb, które przygotowują dane w folderze views? lepiej chyba byłoby to zrobić w helperze tzn. W kontrolerze normalnie używamy zmienne instancji a w tych templatach używa się helperów do wygenerowania odpowiedniej treści podobnie jak to wygl ąda np. dla helperów formularzy, nie używa się wtedy plików rb w folderze views.

Jeżeli chodzi Ci o samo położenie plików, to w zasadzie gdzie Ci wygodniej. Jeżeli chodzi o miejsce w kodzie, to ja bym raczej tego do helperów nie wrzucał (tzn. możesz się wspomóc helperami, ale jeżeli będziesz w tych szablonach używał głównie helperów, to wróżę duży bajzel :wink: ).