2012-12-15 13 views
13

mam ten kod:interpunkcyjny po linku w Ruby haml

%p 
    A debtor with the court's approval can hire attorneys via 
    %a{:id=>"proc",:href=>'/codes#rule327'}Section 327. 

który renderuje:

dłużnik za zgodą sądu może zatrudnić prawników poprzez sekcji 327.

wiem to jest bardzo wybredne, ale nie chcę pogrubienia okresu. Kiedy próbuję:

%p 
    A debtor with the court's approval can hire attorneys via 
    %a{:id=>"proc",:href=>'/codes#rule327'}Section 327 
    \. 

To daje:

dłużnik za zgodą sądu może zatrudnić prawników poprzez Sekcji 327.

chciałbym wiedzieć jak mogę dostać:

dłużnik za zgodą sądu może zatrudnić prawników poprzez Sekcji 327.

Odpowiedz

12

Można użyć zewnętrznego "przestrzeń eater" (>) po definicji tag:

%p 
    A debtor with the court's approval can hire attorneys via 
    %a{:id=>"proc",:href=>'/codes#rule327'}>Section 327 
    . 

Manual reference

+2

słodki, nie wiedziałem, że dzięki! również dla każdego, kto czyta i dokonałem niewielkiej edycji, musi być backspace przed okresem, w przeciwnym razie kompilator haml pomyśli, że jest to definicja klasy. – shicholas

+0

Inna uwaga: biblioteka PHP mthaml pozwala na przekazywanie kropek. – ualinker

+9

@shicholas Zwróć uwagę, że to również usuwa spację _ przedtem tag, więc nadal nie jest to dokładnie to, czego potrzebujesz. Zobacz, co [FAQ Haml mówi na ten temat] (http://haml.info/docs/yardoc/file.FAQ.html#q-punctuation). – matt

29

haml ma metody pomocnika specjalnie zaprojektowane do „manipulowania spacje w bardziej precyzyjny sposób niż to, co dozwolone są metody usuwania białych znaków ".

Dostępne są trzy metody: surround, priore i succeed, które zapewniają lepszą kontrolę odstępów. W twoim przypadku można użyć pomocnika sukcesu tak, aby dołączyć do okresu po linku:

%p 
    A debtor with the court's approval can hire attorneys via 
    = succeed "." do 
    %a{:id=>"proc",:href=>'/codes#rule327'}Section 327 

Zobacz HAML documentation pod Helper „Metody”.

+1

Przeczytaj również: [Haml: Kontrola białych znaków wokół tekstu] (http://stackoverflow.com/questions/1311428/haml-control-whitespace-around-text) – mayatron

+0

To jest lepsza odpowiedź. –