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.