Utiliser Haml au lieu d’ERB dans vos applications Rails

Par défaut, lorsqu’une application Rails est créée, c’est ERB qui est utilisé comme moteur de templates dans les vues. Nous allons voir comment installer Haml et l’utiliser par défaut lors de la création d’un contrôleur. Il nous faut installer les 2 gems suivants :

$ gem install haml        #utilisation de haml
$ gem install haml-rails  #va permettre de créer la vue par défaut en haml

Dans votre dossier contenant votre application, éditez le fichier Gemfile :

$ nano Gemfile

Et insérez-y les lignes suivantes :

gem "haml", "4.0.3"
gem "haml-rails", "0.4"

Vous pouvez maintenant lancer la commande permettant de créer un contrôleur/action et sa vue associée par le biais la même commande que d’habitude :

$ rails generate controller testa ta

Il se peut que vous rencontriez l’erreur suivante :

uninitialized constant Bundler (NameError)

Afin de corriger cette dépendance manquante, lancez simplement l’installation du gem « bundler » :

$ gem install bundler
$ bundle install

Relancez la commande de génération du contrôleur afin d’obtenir le résultat suivant :

create  app/controllers/testa_controller.rb
route  get "testa/ta"
invoke  haml
create    app/views/testa
create    app/views/testa/ta.html.haml
invoke  test_unit
create    test/controllers/testa_controller_test.rb
invoke  helper
create    app/helpers/testa_helper.rb
invoke    test_unit
create      test/helpers/testa_helper_test.rb
invoke  assets
invoke    coffee
create      app/assets/javascripts/testa.js.coffee
invoke    scss
create      app/assets/stylesheets/testa.css.scss