A czy ty używasz generatorów w Railsach?
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ą.