2012-09-20 13 views
15

In meinem Ruby on Rails-Projekt I HAML verwenden, brauche ich so etwas wie dieseWie mache ich einen einfachen Punkt "." in HAML?

<div>foo <a>bar</a>.<div> 

in HAML zu übersetzen. Es sollte so aussehen:

.divclass 
    foo 
    %a bar 
    .  

Der Zeitraum beim Start funktioniert nicht, weil es von HAML verwendet wird. Wie kann ich einen Zeitraum als Inhalt verwenden?

Selbst mit dem Aufbau einer Spannweite um seine nicht funktioniert, wird wieder die Zeit als etwas Besonderes genommen.

Ich denke, es gibt einen Escape-Mechanismus, aber ich kann es nicht finden.

+4

In HAML, wie bei den meisten anderen Sprachen, Dinge werden mit einem Backslash versehen. Es sollte das erste sein, was Sie versuchen, wenn Sie in eine neue Sprache wechseln. – meagar

+0

danke, genau das, was ich gesucht habe. – Calmon

+0

HAML ist auch gut dokumentiert: http://haml.info/docs/yardoc/file.HAML_REFERENCE.html – mwolfetech

Antwort

26

Es ist mit \ entkam

wie diese

\. 

Siehe Escaping \ im HAML Referenz.

Update: Mit HAML der succeed (wie in this answer) ist eine bessere Lösung, wenn Sie einen Punkt am Ende des Satzes müssen (um unnötigen Leerraum zu verhindern).

+1

Das Problem hier ist, dass in seinem Fall wird ein weißer Zwischenraum zwischen dem a-Tag und dem Punkt sein. Bevorzugen Sie die 'succee'-Methode von @Jay –

+0

Jeremy F. Ja, Sie haben Recht. – khustochka

17

Eine bessere Methode:

%p 
    This sentence ends with a link which is *just* before a period 
    = succeed "." do 
    %a{:href => "#"} link 
    But the period wasn't included with the link and there was no space before the period. 
1

Sie haben auch Zugang zum: plain-Filter, wie folgt aus:

%p 
    :plain 
    . 
0

Ich werde eine andere Option mit Rails' hinzuzufügen Einbau-link_to Helfer, anstatt den Link manuell zu erstellen. Dann können Sie einfach tun

%p 
    This sentence ends with a link which is *just* before a period 
    #{ link_to "link", "#" }. 

Verschiedene Lösungen werden an verschiedenen Orten arbeiten, aber ich finde das ganz sauber sein, vor allem, wenn bereits mit link_to oder mail_to usw.

Verwandte Themen