Fotothek df roe-neg 0006486 018 Porträt eines Kellners mit Eis und Desserts

Dobrzy kelnerzy potrafią zapamiętać nasze ulubione zamówienia i witają nas słowami "Podać to co zwykle?". Kto tego nie lubi?

Railsy też są takim dobrym kelnerem i oferują mechanizm generatorów. Powiedziałem dobrym? Przecież zawsze tworzą mi testy w test/unit (a chciałbym w rspecu), widoki są w erb zamiast w hamlu, do tego te nieszczęsne helpery. To zdecydowanie nie jest tak jak lubię.

Wpisywanie za każdym razem kombinacji w stylu:

rails generate controller products --helper -t rspec -e haml

nie jest rozwiązaniem. To ja już wolę sam tworzyć te pliki zamiast zapamiętwać ich składnię i opcję. Nie można Railsom powiedzieć jak najbardziej lubimy podane nasze danie? Ależ można.

Konfiguracja generatorów

Aby podać domyślne ustawienia w Rails 3 należy dodać do pliku config/application.rb sekcję dotyczącą generatorów. Może ona zawierać poniższe opcje:

config.generators do |g|  
  g.orm :data_mapper  
  g.template_engine :haml
  g.test_framework  :rspec, :fixture => true  
  g.fixture_replacement :factory_girl  
  g.helper false
  g.stylesheets false  
end

Potrzebujemy jeszcze odpowiednich generatorów (zakładam, że odpowienie gemy są już zainstalowane), dodajmy więc do Gemfile odpowiedni wpis:

gem "rails3-generators", :group => :development  

Powyższy gem nie zawiera generatorów dla hamla. PaulBarry przygotował odpowiednią paczkę, wystarczy ją sklonować:

git clone git://github.com/pjb3/rails3-generators.git lib/generators

Więcej informacji o generatorach znajdziecie poniżej:
Railscast 216
Zbiór najpopularniejszych generatorów
Generatory w kodzie Railsów
Kolejny generator dla Hamla

Zachęcam do poświęcenia ten raz kilku minut na konfigurację. Bardzo szybko się zwracają.