Wie bringe ich Haml dazu, mit Rails zu arbeiten?


77

Ich versuche Haml dazu zu bringen, mit meinem Ruby on Rails-Projekt zu arbeiten. Ich bin neu bei Ruby on Rails und es gefällt mir sehr gut. Wenn ich jedoch versuche, eine aplication.html.hamloder index.html.hamlfür eine Ansicht hinzuzufügen , erhalte ich nur Fehler.

Ich verwende NetBeans als meine IDE.


1
Was sind die Fehler? Haben Sie das HAML-Plugin installiert?
— Otto

Antworten:


88

Haml mit Schienen 3

Für Rails 3 müssen Sie lediglich gem "haml", '3.0.25'Ihre Daten hinzufügen Gemfile. Plugin muss nicht installiert oder ausgeführt werden haml --rails ..

Gerade:

$ cd awesome-Rails-3-app.git
$ echo 'gem "haml"' >> Gemfile

Und du bist fertig.


2
Fügen Sie echo 'gem "haml-rail" hinzu ,: group =>: development' >> Gemfile, um haml als Gerüst als Standardoption zu verwenden.
— Fa11enAngel

und bundleich nehme auch an
— Michael Durrant

60

Die obigen Antworten sind genau richtig. Sie müssen nur gem 'haml'Ihre eingeben Gemfile.

Ein weiterer Tipp, der nicht erwähnt wurde: Wenn Sie Schienengeneratoren verwenden hamlmöchten erb, fügen Sie Folgendes hinzu config/application.rb:

config.generators do |g|
  g.template_engine :haml

  # you can also specify a different test framework or ORM here
  # g.test_framework  :rspec
  # g.orm             :mongoid
end    

31
Alternativ zur Bearbeitung application.rbkönnen Sie gem 'haml-rails'der Entwicklungsgruppe in hinzufügen Gemfile. Das kümmert sich auch um die Generatoren.
— Felix Rabe

1
Dies entspricht, config.generators.template_engine :hamlobwohl der do-Block hilfreich ist, wenn Sie eine Reihe von Generatoren anpassen möchten. Und um es noch einmal zu wiederholen, wenn Sie es verwenden gem 'haml-rails', sollte dieses Problem gelöst werden, ohne dass eine Codezeile erforderlich istconfig/application.rb
— Ryan Taylor

37

Zuerst installieren haml als ein Juwel in bundler durch diese zu Ihrem Zusatz Gemfile:

gem "haml"

Führen Sie es aus bundle install, und stellen Sie sicher, dass Ihre Ansichten mit der Erweiterung * .html.haml benannt sind . Zum Beispiel:

`-- app
    `-- views
        |-- layouts
        |   `-- application.html.haml
        `-- users
            |-- edit.html.haml
            |-- index.html.haml
            |-- new.html.haml
            `-- show.html.haml

3
Wenn Sie bereits erb-Vorlagen haben, benennen Sie diese in .html.haml um. Weisen Sie haml oben in der Datei an, den erb-Filter zu verwenden, indem Sie: erb oben in die Datei setzen. Dann können Sie Ihre Vorlagen langsam konvertieren. Weitere Informationen zu Filtern finden Sie unter. haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html
— Gregf

4
Warum ist es wichtig, mit .html.haml und nicht nur mit .haml zu enden?
— user5243421

12
Mathee, es ist Rails Convention. name.mime.format(zB show.html.erb, show.xml.builder, show.html.haml)
— Ryan McGeary

25

Fügen Sie Ihrem Gemfile Haml hinzu:

gem "haml"

Wenn Sie auch die Gerüstfunktionen nutzen möchten, fügen Sie Ihrer Entwicklungsgruppe Haml-Rails hinzu:

gem 'haml-rails', :group => :development

Vergiss nicht zu rennen:

$ bundle install

11

Bevor Sie versuchen, haml in Ihrer Rails-Anwendung zu verwenden, können Sie überprüfen, ob die ausführbare Befehlszeilendatei korrekt installiert ist:

$ haml
%p 
  %span Hello World!

Drücken Sie dann STRG-D und Sie sollten sehen:

<p>
  <span>Hello World!</span>
</p>

schön ... das ist ziemlich ordentlich.

10

Stellen Sie zunächst sicher, dass Sie das Juwel HAML haben.

gem list --local | grep haml

Wenn haml nicht in der Liste angezeigt wird, gehen Sie folgendermaßen vor:

sudo gem install haml

Dann machen Sie dies aus Ihrem Projektverzeichnis:

# cd ../
# haml --rails <yourproject>

Das sollte alles installieren, was Sie brauchen, und die HAML-Ansichten sollten aufhören, sich zu beschweren und korrekt zu analysieren.


2
Beachten Sie, dass für Rails 3 haml --railsnicht mehr benötigt wird. Siehe meine Antwort für Rails 3 Howto.
— kch

7
Bitte vermeiden Sie die Verwendung, sudowenn Sie Edelsteine ​​installieren.
— David J.


1

Wenn Sie aus irgendeinem Grund haml installiert haben, aber haml nicht startet. Versuchen

sudo ln haml /usr/bin/

im bin-verzeichnis deines haml gem

Aus irgendeinem Grund passierte dies auf meinem Ubuntu 9.04 Jaunty nicht automatisch.



0

Stellen Sie sicher, dass Sie hamlEdelsteine ​​in Ihre hinzufügenGemfile

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.