ActionView :: MissingTemplate mit HAML
-
07-07-2019 - |
Frage
Ich erhalte Ruby on Rails gesetzt auf einer neuen Installation von Snow Leopard auf. Nach kämpft (und Schlagen ) MySQL und Sphinx Probleme, ich auf einen dummen Fehler bin stecken zu HAML Zusammenhang stehen.
Im Wesentlichen eine fehlende Vorlage Fehler für jede Ansicht Ich erhalte die HAML verwendet. Ich kann fein eine leere xxx.html.erb Datei und und eine (leere) Seite geladen hinzufügen. Aber xxx.html.haml den Fehler wirft, obwohl die Datei auf jeden Fall in dem entsprechenden Verzeichnis vorhanden ist.
Hier ist der Fehler aus dem Entwicklungs-Server:
ActionView::MissingTemplate (Missing template sections/index.erb in view path app/views):
haml (2.2.4) rails/./lib/sass/plugin/rails.rb:19:in `process'
Ich bin das haml Juwel (2.2.4) mit Schienen gem (2.3.4) und Rubin 1.8.7. Ich habe haml --rails laufen. von meinem RoR app Root-Verzeichnis; die init-Datei ist im Kreditoren / plugins / haml Verzeichnis. Ich habe bestätigt, dass "require 'haml'" => true über IRB.
Jede mögliche Hilfe würde geschätzt!
Als Reaktion auf Yaraher:
Versucht un- und neu zu installieren, die keine Fehler erhoben, außer mit dem rdocs ( "Could not Hauptseite README.rdoc finden").
In Skript / Konsole:
>> require 'haml'
=> []
Update:
eine alte Version von Rails installieren bekannt mit HAML in diesem Projekt zu arbeiten scheint „fixiert“, das Problem zu haben. Ich würde immer noch gespannt sein, eine wirkliche Antwort auf dieses Problem zu hören -. Ich will nicht auf 2.3.2 festzustecken
sudo gem install -v 2.3.2 rails
Update 2:
Dies wird auf jeden Fall durch eine Differenz zwischen Rails 2.3.2 und 2.3.4 verursacht. Mit beiden installierten Edelsteinen kann ich die in meiner environment.rb Datei verwendet wird. HAML funktioniert mit 2.3.2 und Brüche wie bei 2.3.4 beschrieben.
Lösung
Zeit für die peinliche Antwort auf diese Frage:
Es gibt einen Unterschied zwischen Rails 2.3.2 und 2.3.4, die nicht xxx.haml.html
Dateien als Dateien erkennt, die von HAML analysiert werden soll (oder ERB); dies war in 2.3.2 in Ordnung. HAML Dateien sollten immer xxx.html.haml
anwyay benannt werden, so ist dies nicht einmal ein Fehler.
Ich wusste nicht, dass dies das Problem war, weil ich die „verstecken Dateierweiterungen“ hatte. Also, wenn ich versuchte, die Dateierweiterung durch Finder Umstellung auf html.haml
dies zu testen, ist es tatsächlich geändert haml.html.haml
oder einig Unsinn.
Die Moral der Geschichte:. Ich lief das folgende Skript und jetzt HAML arbeitet mit Rails 2.3.4
path = '/path_to_rails_app/views/'
dir = Dir.new(path)
dir.each do |d|
if File.directory?(path+d)
Dir.new(path+d).each do |f|
if (f =~ /.*\.haml\.html$/) != nil
File.rename(path+d+'/'+f, path+d+'/'+f.gsub('haml.html', 'html.haml'))
end
end
end
end
Andere Tipps
Versuchen Sie Ihre Vorlage
umbenennensections/_index.haml
oder
sections/__index.haml