teamon.eu

Dynamiczna zmiana folderu z szablonami w Merbie

27 stycznia 2009

Tym razem będzie bardzo krótko. Potrzebowałem sprawdzenia za każdym razem wartości Setting[:theme] i na jej podstawie ustawić katalog "poszukiwań" pliku z szablonem...

 
class Application < Merb::Controller
  before do
    template_roots[1] = ['themes' / Setting[:theme] / 'views', :_template_location]
  end
end
 

... i działa ;]

Dzięki temu nie trzeba przekazywać do każdego display/render bezwzględnej ścieżki do pliku.

Dodaj komentarz

Szatan! ]:->

12 stycznia 2009

Chyba dzisiaj już się nie pouczę...

9 komentarzy

Jak potrzebne to nie działa...

08 stycznia 2009


http://cke.edu.pl/

A właśnie chciałem sprawdzić szczegóły matury z informatyki...

Co więcej, błąd musi wisieć już dość długo - nawet google już to złapało.

6 komentarzy

Rack - Prosty parser haml

05 stycznia 2009

Jakiś czas temu stwierdziłem, że przydała by mi się aplikacja do parsowania plików .haml podczas tworzenia designu dla strony. Z pomocą przyszedł rack.

Wszystko zakończyło się w 13 linijkach ;)

 
require "rack/response"
require "haml"
 
app = Proc.new do |env|
  path = env["REQUEST_URI"].sub("/", "")
  if path =~ /\.haml$/
    [200, {"Content-type" => "text/html"}, Haml::Engine.new(File.read(path)).render]
  else
    Rack::File.new(Dir.pwd).call(env)
  end
end
 
run app
 

A wszystko odpalane poprzez:

thin start -R design.ru -p 9999

W przeglądarce wpisujemy np. "localhost:9999/foo/bar.haml" i zostanie wyrenderowany plik bar.haml z folderu foo. Pliki inne niż .haml nie zostaną zparsowane.

10 komentarzy