2016-03-23 5 views
2

Dies ist eine direkte Anfrage. Ich habe eine Rails-Anwendung, die haml statt erb und in einem meiner Ansichten am unteren Rand der Zeile dieses sehe ich verwendet:Verwendet! = In einer Schienenansicht eine andere Möglichkeit, eine Hilfsmethode aufzurufen?

!= map_init('map', @account.latitude ? 7 : 0) 

Dieses map_init ist für eine Google Maps-API-Rendering und teh map_init Methode liegt in ein MapHelper Modul. Ist das eine andere Art, eine Methode in einer Schienenansicht zu nennen?

Ich dachte, es war oder = Methoden aufzurufen. Hat jemand anderes das gesehen?

+1

Es bedeutet '=' plus HTML unescaping, siehe [Referenz] (http://haml.info/docs/yardoc/file.REFERENCE.html#unescaping_html). Wahrscheinlich gibt der Helfer 'map_init' einige HTML-Tags zurück, die nicht als' html_safe' gekennzeichnet sind. – BoraMa

+0

Danke für diesen Link, ich schätze es. Dinge aufgeräumt. –

+0

@BoraMa Ihr Kommentar sollte als Antwort auf diese Frage geschrieben worden sein. – smathy

Antwort

1

Es bedeutet reguläre = (Ausdruck Aufruf) mit HTML unescaping, siehe HAML reference.

Also z.B. != "<br>" wird real <br> in der endgültigen HTML und nicht &lt;br&gt; wie mit Ebene = werden würde.

Wahrscheinlich der map_init Helper gibt einige HTML-Tags zurück, die nicht als html_safe markiert sind.

Verwandte Themen