Immer wenn ich versuche, Liquid zu rendern, erhalte ich is_haml?
Fehler bei Objekten/Modellen. Gibt es eine Art Kompatibilitätseinstellung, mit der Liquid und HAML nebeneinander ausgeführt werden können?
Danke!
Haml definiert eine Object#is_haml?
-Methode, um festzustellen, ob der aktuelle Vorlagenkontext Haml ist. Ich nehme an, es ist möglich, dass die Kontextobjekte von Liquid dies irgendwo undefiniert machen ... können Sie mir einen Tarball einer minimalen Rails-App geben, der das Problem demonstriert?
@dewski - Ich bin damit auf einige Probleme gestoßen, als ich versuchte, ActionView-Helfer in benutzerdefinierten Flüssigkeitsfiltern zu nutzen.
Beispiel:
module LiquidFilters
include ActionView::Helpers::TagHelper
include ActionView::Helpers::UrlHelper
def mailto(address, name = nil)
mail_to(address, name, :encode => "javascript")
end
end
Liquid::Template.register_filter(LiquidFilters)
Dann bekam ich folgende Fehlermeldung...
Liquid error: undefined method `is_haml?' for #
Eine einfache Lösung bestand darin, auch Haml::Helpers in das Modul aufzunehmen ...
include Haml::Helpers
Bin mir nicht sicher, ob das überhaupt auf deine Situation zutrifft.
Mit freundlichen Grüßen,
David Baldwin
Ich denke, das wird genau das tun, was ich brauche, ich werde es testen und mich bei Ihnen melden. Danke!
Danke David, das hat das Problem behoben. Ich lasse das offen, um zu sehen, wie Nathan damit umgehen will. Sollte Haml prüfen, ob Liquid definiert ist, wenn ja, es einschließen?
Eine spezifische Handhabung für Liquid ist hier nicht der richtige Weg. Wir müssen das zugrunde liegende Problem noch herausfinden und beheben. Ich möchte nach Möglichkeit immer noch eine Repro der Rails-App.
Hier ist eine Barebone-App, die das Problem für Sie erzeugen sollte ...
git clone git://github.com/baldwindavid/liquidhaml.git
cd liquidhaml
rake db:setup
script/server
Die Ansicht "Anzeigen" des einzigen Beitrags sollte den Fehler anzeigen. Dann schau mal...
config/initializers/liquid.rb
Wenn Sie include Haml::Helpers
auskommentieren, sollte der Filter wie erwartet funktionieren.
Dieses Beispiel verwendet Rails 2.3.5 und die folgenden Edelsteine ...
config.gem "haml", :version => "3.0.4"
config.gem "liquid", :version => "2.0.0"
Lassen Sie mich wissen, wenn Sie zusätzliche benötigen. Danke.
Mit freundlichen Grüßen,
David Baldwin
Dieses Problem wird als veraltet geschlossen. Wenn noch jemand davon betroffen ist, lass es mich wissen und ich werde wieder öffnen.
Danke @baldwindavid . Das Hinzufügen von include Haml::Helpers behebt das Problem.
Hilfreichster Kommentar
@dewski - Ich bin damit auf einige Probleme gestoßen, als ich versuchte, ActionView-Helfer in benutzerdefinierten Flüssigkeitsfiltern zu nutzen.
Beispiel:
Dann bekam ich folgende Fehlermeldung...
Eine einfache Lösung bestand darin, auch Haml::Helpers in das Modul aufzunehmen ...
Bin mir nicht sicher, ob das überhaupt auf deine Situation zutrifft.
Mit freundlichen Grüßen,
David Baldwin