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.

Arslan Ali
quelle
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.

kch
quelle
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    
Bowsersenior
quelle
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
Ryan McGeary
quelle
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
Matthias
quelle
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>
gdelfino
quelle
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.

Pete
quelle
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.

Railsuser1984
quelle
0

Wenn Sie Pow verwenden, müssen Sie es auch neu starten. Idealerweise verwenden Sie Pulver (Gem Install Powder), da Sie dies dann einfach am Terminal ausführen können

$ powder restart
chris raethke
quelle
0

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

hsul4n
quelle